mirror of https://github.com/ehang-io/nps
49 lines
721 B
Go
49 lines
721 B
Go
package common
|
|
|
|
import (
|
|
"github.com/astaxie/beego/logs"
|
|
"time"
|
|
)
|
|
|
|
const MaxMsgLen = 5000
|
|
|
|
var logMsgs string
|
|
|
|
func init() {
|
|
logs.Register("store", func() logs.Logger {
|
|
return new(StoreMsg)
|
|
})
|
|
}
|
|
|
|
func GetLogMsg() string {
|
|
return logMsgs
|
|
}
|
|
|
|
type StoreMsg struct {
|
|
}
|
|
|
|
func (lg *StoreMsg) Init(config string) error {
|
|
return nil
|
|
}
|
|
|
|
func (lg *StoreMsg) WriteMsg(when time.Time, msg string, level int) error {
|
|
m := when.Format("2006-01-02 15:04:05") + " " + msg + "\r\n"
|
|
if len(logMsgs) > MaxMsgLen {
|
|
start := MaxMsgLen - len(m)
|
|
if start <= 0 {
|
|
start = MaxMsgLen
|
|
}
|
|
logMsgs = logMsgs[start:]
|
|
}
|
|
logMsgs += m
|
|
return nil
|
|
}
|
|
|
|
func (lg *StoreMsg) Destroy() {
|
|
return
|
|
}
|
|
|
|
func (lg *StoreMsg) Flush() {
|
|
return
|
|
}
|