yanghui
2021-04-26 54796f5e2227764ef21449c2ddb0593d092bd6aa
logc.go
@@ -48,12 +48,18 @@
var (
   opChan chan *OperationLog
   logger *Log
)
func Init(flogWriter LogReportCallback, procId string, procName string, wg *sync.WaitGroup, done  chan struct{}) bool {
func Init(flogWriter LogReportCallback, log *Log, procId string, procName string, wg *sync.WaitGroup, done  chan struct{}) bool {
   opChan = make(chan *OperationLog, 100)
   if nil != log {
      logger = log
   } else {
      logger = &Log{}
   }
   //ProcName = procName
   //ProcID = procId
@@ -62,9 +68,21 @@
   return true
}
func SaveOperationLog(log *OperationLog) {
   if nil != log {
      opChan <- log
func SaveOperationLog(log *OperationLog, timeout time.Duration) {
   if nil == log {
      return
   }
   select {
   case opChan <- log:
      return
   case <-time.After(timeout):
      var info string
      b, err := json.Marshal(log)
      if nil == err {
         info = string(b)
      }
      logger.Fatal("SaveOperationLog failed to save log", info)
   }
}