| | |
| | | |
| | | import ( |
| | | "basic.com/valib/bhomebus.git" |
| | | "bytes" |
| | | "net/url" |
| | | |
| | | "encoding/json" |
| | | "fmt" |
| | |
| | | ) |
| | | |
| | | const ( |
| | | TypeManual = iota + 1 |
| | | TypeLoginOut |
| | | TypePollInfo |
| | | TypeStackInfo |
| | | TypeWarnInfo |
| | | TypeRunInfo |
| | | TypeSysInfo |
| | | TypeManual = iota + 1 //人工操作日志,系统升级,摄像机修改,算法修改... |
| | | TypeLoginOut //登录登出日志 |
| | | TypePollInfo //轮巡摄像机及其对应的算法 |
| | | TypeStackInfo //数据栈处理情况 |
| | | TypeWarnInfo //故障信息 |
| | | TypeRunInfo //运行情况,gpu,mem,cpu |
| | | TypeSysInfo //系统参数变更,ip,server name,开关机信息 |
| | | ) |
| | | |
| | | type LogInfo struct { |
| | |
| | | var ( |
| | | msgChan chan []byte |
| | | bhSock *bhomebus.Socket |
| | | pubFn func(nodes []bhomebus.NetNode, topic string, data []byte, milliseconds int) int |
| | | ProcName string |
| | | ProcID string |
| | | ) |
| | | |
| | | func Init(sock *bhomebus.Socket, procId string, procName string) { |
| | | func init() { |
| | | |
| | | } |
| | | |
| | | func InitBySock(sock *bhomebus.Socket, procId string, procName string) bool { |
| | | msgChan = make(chan []byte, 100) |
| | | ProcName = procName |
| | | ProcID = procId |
| | | bhSock = sock |
| | | if bhSock == nil { |
| | | return false |
| | | } |
| | | |
| | | go saveLoop() |
| | | |
| | | return true |
| | | } |
| | | |
| | | func InitByPubFn(fn func(nodes []bhomebus.NetNode, topic string, data []byte, milliseconds int) int, |
| | | procId string, procName string) bool { |
| | | msgChan = make(chan []byte, 100) |
| | | ProcName = procName |
| | | ProcID = procId |
| | | pubFn = fn |
| | | if pubFn == nil { |
| | | return false |
| | | } |
| | | |
| | | go saveLoop() |
| | | |
| | | return true |
| | | } |
| | | |
| | | func Save(level int, logType int, v ...interface{}) { |
| | |
| | | select { |
| | | case data := <- msgChan: |
| | | var nodes []bhomebus.NetNode |
| | | nodes = append(nodes, bhomebus.NetNode{ |
| | | Key: 8, |
| | | }) |
| | | bhSock.PubTimeout(nodes, LogSaveTopic, data, 1000) |
| | | nodes = append(nodes, bhomebus.NetNode{}) |
| | | if bhSock != nil { |
| | | bhSock.PubTimeout(nodes, LogSaveTopic, data, 1000) |
| | | } else if pubFn != nil { |
| | | pubFn(nodes, LogSaveTopic, data, 1000) |
| | | } else { |
| | | fmt.Println("bhSock nil and pubFn nil") |
| | | } |
| | | |
| | | default: |
| | | time.Sleep(10*time.Millisecond) |
| | | } |
| | | } |
| | | } |
| | | |
| | | func Log(userName, method, path, contentType, module string, body *bytes.Buffer, values url.Values) { |
| | | |
| | | } |