alesandreo

lib/ale/logger.lua

Aug 11th, 2021 (edited)
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.08 KB | None | 0 0
  1. -- https://pastebin.com/wy7Vut3x
  2.  
  3. Logger = {
  4.     levels = {
  5.     fatal = 0,
  6.     error = 10,
  7.     warn  = 20,
  8.     info  = 30,
  9.     debug = 40,
  10.     trace = 50
  11.   },
  12.   categories = {
  13.     log = "info"
  14.   },
  15.   default_category = "log",
  16.   logfile = nil
  17. }
  18.  
  19. function Logger:getIntLevel(level)
  20.   level = string.lower(level)
  21.   return self.levels[level]
  22. end
  23.  
  24. function Logger:getCategoryLevel(category)
  25.   return self.categories[category] or self.categories[self.default_category]
  26. end
  27.  
  28. function Logger:log(message, level, category)
  29.   level = level or "info"
  30.   category = category or self.default_category
  31.   if self:getIntLevel(level) <= self:getIntLevel(self:getCategoryLevel(category)) then
  32.     if not self.logfile then
  33.       print(string.upper(level)..": "..message)
  34.     end
  35.   end
  36.   return true
  37. end
  38.  
  39. function Logger:trace(message, category)
  40.   category = category or self.default_category
  41.   return self:log(message, "TRACE", category)
  42. end
  43.  
  44. function Logger:info(message, category)
  45.   category = category or self.default_category
  46.   return self:log(message, "INFO", category)
  47. end
Add Comment
Please, Sign In to add comment