logger.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package logger
  2. import (
  3. "fmt"
  4. "github.com/sirupsen/logrus"
  5. "os"
  6. setting "icloudapp.cn/tools/config"
  7. )
  8. var WebLog *logrus.Logger
  9. func Init() {
  10. initWebLog()
  11. }
  12. func initWebLog() {
  13. WebLog = initLog(setting.Conf.LogConfig.WebLogName)
  14. }
  15. // 初始化日志句柄
  16. func initLog(logFileName string) *logrus.Logger {
  17. log := logrus.New()
  18. log.Formatter = &logrus.JSONFormatter{
  19. TimestampFormat: "2006-01-02 15:04:05",
  20. }
  21. logFilePath := setting.Conf.LogFilePath
  22. logName := logFilePath + logFileName
  23. var f *os.File
  24. var err error
  25. //判断日志文件夹是否存在,不存在则创建
  26. if _, err := os.Stat(logFilePath); os.IsNotExist(err) {
  27. os.MkdirAll(logFilePath, os.ModePerm)
  28. }
  29. //判断日志文件是否存在,不存在则创建,否则就直接打开
  30. if _, err := os.Stat(logName); os.IsNotExist(err) {
  31. f, err = os.Create(logName)
  32. } else {
  33. f, err = os.OpenFile(logName, os.O_APPEND|os.O_WRONLY, os.ModeAppend)
  34. }
  35. if err != nil {
  36. fmt.Println("open log file failed")
  37. }
  38. log.Out = f
  39. log.Level = logrus.InfoLevel
  40. return log
  41. }