1
0

log.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package log
  2. import (
  3. "github.com/astaxie/beego/logs"
  4. )
  5. var Log *logs.BeeLogger
  6. func init() {
  7. Log = logs.NewLogger(1000)
  8. Log.EnableFuncCallDepth(true)
  9. Log.SetLogFuncCallDepth(Log.GetLogFuncCallDepth() + 1)
  10. }
  11. func InitLog(logWay string, logFile string, logLevel string) {
  12. SetLogFile(logWay, logFile)
  13. SetLogLevel(logLevel)
  14. }
  15. // logWay: such as file or console
  16. func SetLogFile(logWay string, logFile string) {
  17. if logWay == "console" {
  18. Log.SetLogger("console", "")
  19. } else {
  20. Log.SetLogger("file", `{"filename": "`+logFile+`"}`)
  21. }
  22. }
  23. // value: error, warning, info, debug
  24. func SetLogLevel(logLevel string) {
  25. level := 4 // warning
  26. switch logLevel {
  27. case "error":
  28. level = 3
  29. case "warn":
  30. level = 4
  31. case "info":
  32. level = 6
  33. case "debug":
  34. level = 7
  35. default:
  36. level = 4
  37. }
  38. Log.SetLevel(level)
  39. }
  40. // wrap log
  41. func Error(format string, v ...interface{}) {
  42. Log.Error(format, v...)
  43. }
  44. func Warn(format string, v ...interface{}) {
  45. Log.Warn(format, v...)
  46. }
  47. func Info(format string, v ...interface{}) {
  48. Log.Info(format, v...)
  49. }
  50. func Debug(format string, v ...interface{}) {
  51. Log.Debug(format, v...)
  52. }