console.go 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. package logx
  2. import (
  3. "fmt"
  4. "go.uber.org/zap"
  5. "go.uber.org/zap/zapcore"
  6. "time"
  7. )
  8. type ConsoleLog struct {
  9. val string
  10. }
  11. func NewConsoleLog() Encoder {
  12. return new(ConsoleLog)
  13. }
  14. // Config 自定义配置.
  15. func (slf *ConsoleLog) Config() zapcore.Encoder {
  16. var (
  17. cfg = zap.NewProductionEncoderConfig()
  18. )
  19. // 时间格式自定义
  20. cfg.EncodeTime = func(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
  21. enc.AppendString("[" + t.Format("2006-01-02 15:04:05") + "]")
  22. }
  23. // 打印路径自定义
  24. cfg.EncodeCaller = func(caller zapcore.EntryCaller, encoder zapcore.PrimitiveArrayEncoder) {
  25. encoder.AppendString("[" + getFilePath(caller) + "]")
  26. }
  27. // 级别显示自定义
  28. cfg.EncodeLevel = func(level zapcore.Level, encoder zapcore.PrimitiveArrayEncoder) {
  29. encoder.AppendString("[" + level.String() + "]")
  30. }
  31. return zapcore.NewConsoleEncoder(cfg)
  32. }
  33. // WithKey 添加单个键.
  34. func (slf *ConsoleLog) WithKey(key string) Encoder {
  35. slf.val = slf.val + "[" + key + "] "
  36. return slf
  37. }
  38. // WithField 添加字段.
  39. func (slf *ConsoleLog) WithField(key, val string) Encoder {
  40. slf.val = slf.val + fmt.Sprintf("[%s:%s] ", key, val)
  41. return slf
  42. }
  43. func (slf *ConsoleLog) Debug(msg string) {
  44. _logger.Debug(slf.val + msg)
  45. }
  46. func (slf *ConsoleLog) Debugf(format string, v ...interface{}) {
  47. _logger.Debug(fmt.Sprintf(slf.val+format, v...))
  48. }
  49. func (slf *ConsoleLog) Info(msg string) {
  50. _logger.Info(slf.val + msg)
  51. }
  52. func (slf *ConsoleLog) Infof(format string, v ...interface{}) {
  53. _logger.Info(fmt.Sprintf(slf.val+format, v...))
  54. }
  55. func (slf *ConsoleLog) Warn(msg string) {
  56. _logger.Warn(slf.val + msg)
  57. }
  58. func (slf *ConsoleLog) Warnf(format string, v ...interface{}) {
  59. _logger.Warn(fmt.Sprintf(slf.val+format, v...))
  60. }
  61. func (slf *ConsoleLog) Error(msg string) {
  62. _logger.Error(slf.val + msg)
  63. }
  64. func (slf *ConsoleLog) Errorf(format string, v ...interface{}) {
  65. _logger.Error(fmt.Sprintf(slf.val+format, v...))
  66. }
  67. func (slf *ConsoleLog) Fatal(msg string) {
  68. _logger.Fatal(slf.val + msg)
  69. }
  70. func (slf *ConsoleLog) Fatalf(format string, v ...interface{}) {
  71. _logger.Fatal(fmt.Sprintf(slf.val+format, v...))
  72. }