log.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package log
  2. import (
  3. "os"
  4. "git.familybaby.top/flight/tools/config"
  5. "github.com/sirupsen/logrus"
  6. "gopkg.in/natefinch/lumberjack.v2"
  7. )
  8. func init() {
  9. log, _ := config.GetLogParam()
  10. logrus.SetReportCaller(log.Caller)
  11. logrus.SetFormatter(&logrus.TextFormatter{
  12. //以下设置只是为了使输出更美观
  13. DisableColors: log.DisableColors,
  14. DisableTimestamp: log.DisableTimestamp,
  15. TimestampFormat: log.TimestampFormat,
  16. })
  17. if log.Output != "stdout" {
  18. logger := &lumberjack.Logger{
  19. Filename: log.Filename,
  20. MaxSize: log.MaxSize, // 日志文件大小,单位是 MB
  21. MaxBackups: log.MaxBackups, // 最大过期日志保留个数
  22. MaxAge: log.MaxAge, // 保留过期文件最大时间,单位 天
  23. LocalTime: true, // 使用本地时间
  24. Compress: log.Compress, // 是否压缩日志,默认是不压缩。这里设置为true,压缩日志
  25. }
  26. logrus.SetOutput(logger) // logrus 设置日志的输出方式
  27. } else {
  28. logrus.SetOutput(os.Stdout)
  29. }
  30. l, e := logrus.ParseLevel(log.Level)
  31. if e == nil {
  32. logrus.SetLevel(l)
  33. }
  34. }