lclog.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package logger
  2. import (
  3. "github.com/druidcaesa/gotool"
  4. rotatelogs "github.com/lestrrat/go-file-rotatelogs"
  5. "github.com/sirupsen/logrus"
  6. "iot_manager_service/config"
  7. "iot_manager_service/util/es"
  8. "os"
  9. "path"
  10. "time"
  11. )
  12. var Logger *logrus.Logger
  13. func InitLog() {
  14. //logFilePath := config.Instance().Logger.Path
  15. //logFileName := config.Instance().Logger.Name
  16. //err := os.MkdirAll(logFilePath, os.ModeDir)
  17. //if err != nil {
  18. // gotool.Logs.ErrorLog().Println(err)
  19. // panic(err)
  20. //}
  21. // 日志文件
  22. //fileName := path.Join(logFilePath, logFileName)
  23. //writer, _ := rotatelogs.New(
  24. // fileName+".%Y%m%d.log",
  25. // rotatelogs.WithMaxAge(15*24*time.Hour), // 文件最大保存时间
  26. // rotatelogs.WithRotationTime(24*time.Hour), // 日志切割时间间隔
  27. //)
  28. logLevel := logrus.ErrorLevel
  29. if config.Instance().Logger.DbShowLog == 1 {
  30. logLevel = logrus.InfoLevel
  31. }
  32. if config.Instance().Logger.Switch == 0 {
  33. logFilePath := config.Instance().Logger.Path
  34. logFileName := config.Instance().Logger.Name
  35. err := os.MkdirAll(logFilePath, os.ModeDir)
  36. if err != nil {
  37. gotool.Logs.ErrorLog().Println(err)
  38. panic(err)
  39. }
  40. // 日志文件
  41. fileName := path.Join(logFilePath, logFileName)
  42. writer, _ := rotatelogs.New(
  43. fileName+".%Y%m%d.log",
  44. rotatelogs.WithMaxAge(5*24*time.Hour), // 文件最大保存时间
  45. rotatelogs.WithRotationTime(24*time.Hour), // 日志切割时间间隔
  46. )
  47. // 实例化
  48. logger := logrus.New()
  49. logger.SetFormatter(&logrus.JSONFormatter{
  50. TimestampFormat: "2006-01-02 15:04:05.000",
  51. })
  52. // 设置日志级别
  53. logger.SetLevel(logLevel)
  54. logger.SetOutput(writer)
  55. Logger = logger
  56. } else {
  57. es.Es.InitES()
  58. // 实例化
  59. logger := logrus.New()
  60. logger.SetFormatter(&logrus.JSONFormatter{
  61. TimestampFormat: "2006-01-02 15:04:05.000",
  62. })
  63. // 设置日志级别
  64. logger.SetLevel(logLevel)
  65. logger.SetOutput(es.EWriter)
  66. Logger = logger
  67. }
  68. }