log.go 699 B

1234567891011121314151617181920212223242526272829303132333435
  1. // log provides log api.
  2. // thanks to the helpful log tool logrus(https://github.com/Sirupsen/logrus)
  3. package server
  4. import (
  5. "github.com/Sirupsen/logrus"
  6. )
  7. var Log *logrus.Entry
  8. func initLog(name string, level string) error {
  9. if Log == nil {
  10. // Log as JSON instead of the default ASCII formatter.
  11. logrus.SetFormatter(&logrus.JSONFormatter{})
  12. // Output to stderr instead of stdout, could also be a file.
  13. // logrus.SetOutput(os.Stderr)
  14. // logging level
  15. lvl, err := logrus.ParseLevel(level)
  16. if err != nil {
  17. return err
  18. }
  19. logrus.SetLevel(lvl)
  20. // default fields
  21. Log = logrus.WithFields(logrus.Fields{
  22. "service": name,
  23. "ip": InternalIP,
  24. })
  25. }
  26. return nil
  27. }