mirror of https://github.com/IoTcat/auxpi.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.4 KiB
74 lines
1.4 KiB
package models |
|
|
|
import ( |
|
"github.com/auxpi/auxpiAll" |
|
) |
|
|
|
type Log struct { |
|
Model |
|
|
|
Type string `json:"type" gorm:"size:32"` |
|
Content string `json:"content" gorm:"size:255"` |
|
Part string `json:"part" gorm:"size:32"` |
|
Level string `json:"level" gorm:"size:32"` |
|
} |
|
|
|
//创建日志 |
|
func AddLog(t, content, part, level string) { |
|
db.Create(&Log{ |
|
Type: t, |
|
Content: content, |
|
Part: part, |
|
Level: level, |
|
}) |
|
} |
|
|
|
//查询日志 |
|
func GetLogs(offset, limit int, maps interface{}) (log []Log, count int) { |
|
err := db.Model(&Log{}). |
|
Where(maps). |
|
Count(&count). |
|
Offset(offset). |
|
Limit(limit). |
|
Find(&log).Error |
|
|
|
modelsError(auxpi.ErrorToString(err)) |
|
|
|
return |
|
} |
|
|
|
//查询 api 使用情况 |
|
func GetApiInfo() (apis []Report) { |
|
err := db.Model(&Log{}). |
|
Where("type=?", "API Call"). |
|
Select("COUNT(*) AS `number` , created_day AS `date`"). |
|
Order("created_day DESC"). |
|
Group("`created_day`"). |
|
Limit(7). |
|
Scan(&apis).Error |
|
modelsError(auxpi.ErrorToString(err)) |
|
|
|
return |
|
} |
|
|
|
//增加 API 调用记录 |
|
func AddApiLog(content string) { |
|
db.Create(&Log{ |
|
Type: "API Call", |
|
Content: content, |
|
Part: "SYSTEM", |
|
Level: "NONE", |
|
}) |
|
} |
|
|
|
//迁移Logs 数据表 |
|
func MigrateLogs() error { |
|
if db.HasTable(&Log{}) { |
|
err := db.DropTable(&Log{}).Error |
|
err = db.CreateTable(&Log{}).Error |
|
return err |
|
} else { |
|
err := db.CreateTable(&Log{}).Error |
|
return err |
|
} |
|
}
|
|
|