广汽安道拓Acura项目MES后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
2.4 KiB

  1. package logger
  2. import (
  3. "go.uber.org/zap"
  4. "go.uber.org/zap/zapcore"
  5. "os"
  6. )
  7. var consoleLogCore *zap.Logger
  8. type consoleLogger struct {
  9. logger *zap.Logger
  10. }
  11. func NewConsoleDriver(config console) (driver, error) {
  12. if consoleLogCore == nil {
  13. coreEncoder := zap.NewProductionEncoderConfig()
  14. coreEncoder.EncodeLevel = zapcore.CapitalLevelEncoder
  15. encoder := zapcore.NewJSONEncoder(coreEncoder)
  16. core := zapcore.NewCore(encoder, zapcore.Lock(os.Stdout), zap.DebugLevel)
  17. consoleLogCore = zap.New(core)
  18. }
  19. return &consoleLogger{consoleLogCore}, nil
  20. }
  21. func (c *consoleLogger) Record(message message) {
  22. if message.Level == debugLevel || message.Level == DebugLevel {
  23. c.logger.Debug(message.Content,
  24. zap.String("Extra", message.Extra),
  25. zap.Int("Pid", message.Pid),
  26. zap.String("Module", message.Module),
  27. zap.String("Operator", message.Operator),
  28. zap.String("Caller", message.Caller),
  29. zap.String("Date", message.Date),
  30. zap.String("Time", message.Time))
  31. } else if message.Level == infoLevel || message.Level == InfoLevel {
  32. c.logger.Info(message.Content,
  33. zap.String("Extra", message.Extra),
  34. zap.Int("Pid", message.Pid),
  35. zap.String("Module", message.Module),
  36. zap.String("Operator", message.Operator),
  37. zap.String("Caller", message.Caller),
  38. zap.String("Date", message.Date),
  39. zap.String("Time", message.Time))
  40. } else if message.Level == warnLevel || message.Level == WarnLevel {
  41. c.logger.Warn(message.Content,
  42. zap.String("Extra", message.Extra),
  43. zap.Int("Pid", message.Pid),
  44. zap.String("Module", message.Module),
  45. zap.String("Operator", message.Operator),
  46. zap.String("Caller", message.Caller),
  47. zap.String("Date", message.Date),
  48. zap.String("Time", message.Time))
  49. } else if message.Level == errorLevel || message.Level == ErrorLevel {
  50. c.logger.Error(message.Content,
  51. zap.String("Extra", message.Extra),
  52. zap.Int("Pid", message.Pid),
  53. zap.String("Module", message.Module),
  54. zap.String("Operator", message.Operator),
  55. zap.String("Caller", message.Caller),
  56. zap.String("Date", message.Date),
  57. zap.String("Time", message.Time))
  58. } else if message.Level == fatalLevel || message.Level == FatalLevel {
  59. c.logger.Fatal(message.Content,
  60. zap.String("Extra", message.Extra),
  61. zap.Int("Pid", message.Pid),
  62. zap.String("Module", message.Module),
  63. zap.String("Operator", message.Operator),
  64. zap.String("Caller", message.Caller),
  65. zap.String("Date", message.Date),
  66. zap.String("Time", message.Time))
  67. }
  68. }