| | |
| | | ) |
| | | |
| | | const ( |
| | | TypeManual = iota + 1 |
| | | TypeLoginOut |
| | | TypePollInfo |
| | | TypeStackInfo |
| | | TypeWarnInfo |
| | | TypeRunInfo |
| | | TypeManual = iota + 1 //人工操作日志,系统升级,摄像机修改,算法修改... |
| | | TypeLoginOut //登录登出日志 |
| | | TypePollInfo //轮巡摄像机及其对应的算法 |
| | | TypeStackInfo //数据栈处理情况 |
| | | TypeWarnInfo //故障信息 |
| | | TypeRunInfo //运行情况,gpu,mem,cpu |
| | | TypeSysInfo //系统参数变更,ip,server name,开关机信息 |
| | | ) |
| | | |
| | | type LogInfo struct { |
| | |
| | | go saveLoop() |
| | | } |
| | | |
| | | func Save(level int, logType int,template string, v ...interface{}) { |
| | | cache(level, logType, "", "", template, v) |
| | | func Save(level int, logType int, v ...interface{}) { |
| | | cache(level, logType, "", "", v) |
| | | } |
| | | |
| | | func SaveManual(level int, logType int, userID string, userName string, template string, v ...interface{}) { |
| | | cache(level, logType, userID, userName, template, v) |
| | | func SaveManual(level int, logType int, userID string, userName string, v ...interface{}) { |
| | | cache(level, logType, userID, userName, v) |
| | | } |
| | | |
| | | func cache(level int, logType int, userID string, userName string, template string, fmtArgs []interface{}) { |
| | | func cache(level int, logType int, userID string, userName string, fmtArgs []interface{}) { |
| | | // Format with Sprint, Sprintf, or neither. |
| | | msg := template |
| | | if msg == "" && len(fmtArgs) > 0 { |
| | | msg := "" |
| | | if len(fmtArgs) > 0 { |
| | | msg = fmt.Sprint(fmtArgs...) |
| | | } else if msg != "" && len(fmtArgs) > 0 { |
| | | msg = fmt.Sprintf(template, fmtArgs...) |
| | | } |
| | | fmt.Println(msg) |
| | | |
| | | log := LogInfo { |
| | | ID: uuid.NewV4().String(), |