logger_api.lua 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. local skynet = require "skynet"
  2. -- require "skynet.manager"
  3. -- 日志级别
  4. local log_level = {
  5. LOG_DEFAULT = 1,
  6. LOG_TRACE = 1,
  7. LOG_DEBUG = 2,
  8. LOG_INFO = 3,
  9. LOG_WARN = 4,
  10. LOG_ERROR = 5,
  11. LOG_FATAL = 6,
  12. }
  13. local defaultLevel = log_level.LOG_DEBUG
  14. local prefix = ""
  15. function LOG_PREFIX(pre)
  16. prefix = "[" .. pre .. "]"
  17. end
  18. --日志 --
  19. local function logger(str, level, color)
  20. return function (...)
  21. if level >= defaultLevel then
  22. local info = table.pack(...)
  23. info[#info+1] = "\x1b[0m"
  24. skynet.error(string.format("%s%s%s", color, prefix, str), table.unpack(info))
  25. end
  26. end
  27. end
  28. local M = {
  29. TRACE = logger("[trace]", log_level.LOG_TRACE, "\x1b[35m"),
  30. DEBUG = logger("[debug]", log_level.LOG_DEBUG, "\x1b[32m"),
  31. INFO = logger("[info]", log_level.LOG_INFO, "\x1b[34m"),
  32. WARN = logger("[warning]", log_level.LOG_WARN, "\x1b[33m"),
  33. ERROR = logger("[error]", log_level.LOG_ERROR, "\x1b[31m"),
  34. FATAL = logger("[fatal]", log_level.LOG_FATAL,"\x1b[31m")
  35. }
  36. -- 错误日志 --
  37. setmetatable(M, {
  38. __call = function(t)
  39. for k, v in pairs(t) do
  40. _G[k] = v
  41. end
  42. end,
  43. })
  44. M()
  45. return M