yanghui
2021-04-26 eb4a9d53d2ec2a21c1f1088573ef8287bdca572b
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)
   }
}
@@ -108,7 +126,7 @@
//}
const (
   LogSaveTopic = "logSaveTopic"
   OperationLogTopic = "operationLogSaveTopic"
)
func saveLoop(logCallback LogReportCallback, wg *sync.WaitGroup, done  chan struct{}) {
@@ -132,7 +150,7 @@
            reg := &LogRegister {
               nodes,
               LogSaveTopic,
               OperationLogTopic,
               payload,
            }