另客网go项目公用的代码库

logger.go 802B

1234567891011121314151617181920212223242526272829303132333435
  1. package log
  2. import (
  3. "git.links123.net/links123.com/pkg/log/hooks"
  4. "github.com/gin-gonic/gin"
  5. "github.com/sirupsen/logrus"
  6. )
  7. var logger *logrus.Logger
  8. func NewDefaultLogger(project *hooks.Project) error {
  9. return NewLogger(project, hooks.DefaultMaintainers(), hooks.DefaultNotificationService())
  10. }
  11. func NewLogger(project *hooks.Project, maintainers []*hooks.Maintainer, ns *hooks.NotificationService) error {
  12. notificationHook, err := hooks.NewNotificationHook(project, maintainers, ns)
  13. if err != nil {
  14. return err
  15. }
  16. logrus.AddHook(notificationHook)
  17. logger = logrus.New()
  18. switch gin.Mode() {
  19. case gin.DebugMode, gin.TestMode:
  20. logger.SetLevel(logrus.DebugLevel)
  21. case gin.ReleaseMode:
  22. logger.SetLevel(logrus.InfoLevel)
  23. default:
  24. panic("unsupported running mode")
  25. }
  26. return nil
  27. }