logger.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package logger
  2. import (
  3. "os"
  4. "github.com/sirupsen/logrus"
  5. )
  6. var log *logrus.Logger
  7. func Init() {
  8. log = logrus.New()
  9. // 设置日志格式
  10. log.SetFormatter(&logrus.JSONFormatter{
  11. TimestampFormat: "2006-01-02 15:04:05",
  12. FieldMap: logrus.FieldMap{
  13. logrus.FieldKeyTime: "timestamp",
  14. logrus.FieldKeyLevel: "level",
  15. logrus.FieldKeyMsg: "message",
  16. },
  17. })
  18. // 设置日志级别
  19. level := os.Getenv("LOG_LEVEL")
  20. if level == "" {
  21. level = "info"
  22. }
  23. switch level {
  24. case "debug":
  25. log.SetLevel(logrus.DebugLevel)
  26. case "info":
  27. log.SetLevel(logrus.InfoLevel)
  28. case "warn":
  29. log.SetLevel(logrus.WarnLevel)
  30. case "error":
  31. log.SetLevel(logrus.ErrorLevel)
  32. default:
  33. log.SetLevel(logrus.InfoLevel)
  34. }
  35. // 设置输出
  36. log.SetOutput(os.Stdout)
  37. }
  38. func Debug(msg string, fields map[string]interface{}) {
  39. if fields == nil {
  40. fields = make(map[string]interface{})
  41. }
  42. fields["service"] = "clash-speed-test"
  43. log.WithFields(fields).Debug(msg)
  44. }
  45. func Info(msg string, fields map[string]interface{}) {
  46. if fields == nil {
  47. fields = make(map[string]interface{})
  48. }
  49. fields["service"] = "clash-speed-test"
  50. log.WithFields(fields).Info(msg)
  51. }
  52. func Warn(msg string, fields map[string]interface{}) {
  53. if fields == nil {
  54. fields = make(map[string]interface{})
  55. }
  56. fields["service"] = "clash-speed-test"
  57. log.WithFields(fields).Warn(msg)
  58. }
  59. func Error(msg string, fields map[string]interface{}) {
  60. if fields == nil {
  61. fields = make(map[string]interface{})
  62. }
  63. fields["service"] = "clash-speed-test"
  64. log.WithFields(fields).Error(msg)
  65. }
  66. func Fatal(msg string, fields map[string]interface{}) {
  67. if fields == nil {
  68. fields = make(map[string]interface{})
  69. }
  70. fields["service"] = "clash-speed-test"
  71. log.WithFields(fields).Fatal(msg)
  72. }