54 lines
865 B
Plaintext
54 lines
865 B
Plaintext
package impl_es
|
|
|
|
import (
|
|
"sync"
|
|
"time"
|
|
)
|
|
|
|
var (
|
|
logPool = sync.Pool{
|
|
New: func() interface{} {
|
|
return &EsLogModel{}
|
|
},
|
|
}
|
|
)
|
|
|
|
// 日志对象
|
|
type EsLogModel struct {
|
|
// 日志类型
|
|
LogType string
|
|
|
|
// 日志消息
|
|
Message string
|
|
|
|
// 程序标识
|
|
InnerId string
|
|
|
|
// Extendstr 扩展信息
|
|
Extendstr string
|
|
|
|
// 日志时间
|
|
CrTime time.Time
|
|
}
|
|
|
|
// newEsLogModel
|
|
// @description: 构造esLog对象
|
|
// parameter:
|
|
// @logType:日志类型
|
|
// @msg:日志内容
|
|
// @innerId:内部唯一id
|
|
// @extendCb:扩展信息回调方法
|
|
// return:
|
|
// @*EsLogModel:
|
|
func newEsLogModel(logType string, msg string, innerId string, extendCb func() string) *EsLogModel {
|
|
logObj := logPool.Get().(*EsLogModel)
|
|
|
|
logObj.CrTime = time.Now()
|
|
logObj.LogType = logType
|
|
logObj.Message = msg
|
|
logObj.InnerId = innerId
|
|
logObj.Extendstr = extendCb()
|
|
|
|
return logObj
|
|
}
|