76 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			No EOL
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
| Logger = {}
 | |
| 
 | |
| SCRIPTNAME = "saltychat-lua"
 | |
| 
 | |
| -- W
 | |
| function Logger:Debug(...)
 | |
|   if Configuration and Configuration.Debug then
 | |
|     local t = transformTable { ... }
 | |
| 
 | |
|     print("[^8" .. SCRIPTNAME .. " ^3DEBUG^0] ^3" .. table.concat(t, "  ") .. "^0")
 | |
|   end
 | |
| end
 | |
| 
 | |
| -- I
 | |
| function Logger:Info(...)
 | |
|   local t = transformTable { ... }
 | |
|   for i = 1, #t do
 | |
|     if type(t[i]) ~= "string" then
 | |
|       t[i] = tostring(t[i])
 | |
|     elseif type(t[i]) == "table" then
 | |
|       t[i] = json.encode(t[i])
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   print("[^8" .. SCRIPTNAME .. "^0] ^5" .. table.concat(t, "  ") .. "^0")
 | |
| end
 | |
| 
 | |
| -- S
 | |
| function Logger:Error(...)
 | |
|   local t = transformTable { ... }
 | |
|   for i = 1, #t do
 | |
|     if type(t[i]) ~= "string" then
 | |
|       t[i] = tostring(t[i])
 | |
|     elseif type(t[i]) == "table" then
 | |
|       t[i] = json.encode(t[i])
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   print("[^8" .. SCRIPTNAME .. " ^1ERROR^0] ^1" .. table.concat(t, "  ") .. "^0")
 | |
| end
 | |
| 
 | |
| -- E
 | |
| local function removeFunctions(tbl, count)
 | |
|   local count = 0 or count
 | |
|   for k, v in pairs(tbl) do
 | |
|       if type(v) == "function" then
 | |
|           tbl[k] = "[function]"
 | |
|       elseif type(v) == "table" then
 | |
|           count = count + 1
 | |
|           if count < 3 then
 | |
|             removeFunctions(v, count)            
 | |
|           else
 | |
|             tbl[k] = "[table]"
 | |
|           end
 | |
|       end
 | |
|   end
 | |
| end
 | |
| 
 | |
| -- M
 | |
| function transformTable(list)
 | |
|   removeFunctions(list)
 | |
| 
 | |
|   for i = 1, #list do
 | |
|     if type(list[i]) == "table" then
 | |
|       list[i] = json.encode(list[i])
 | |
|     elseif type(list[i]) ~= "string" then
 | |
|       list[i] = tostring(list[i])
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   return list
 | |
| end
 | |
| 
 | |
| -- MAN
 | |
| 
 | |
| -- W  I  S  E M A N | 
