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 }