wifi-tally_Oostendam/wifi-tally/tally/src/my-log.lua

39 lines
1.3 KiB
Lua
Raw Normal View History

2021-09-27 19:52:27 +00:00
--- everything related to logging.
--- logs to the terminal if the Tally is connected via USB and via network if a connection was established
local buffer = require('my-log-buffer')
local createLog = function(severity)
return function(msg)
-- log to terminal
print(string.format("%-7s %s", "[" .. severity .. "]", msg))
-- log to Hub if connection is established
if MyTally and MyTally.isReady() and not buffer:hasLog() then
MyTally:sendLog(severity, msg)
else
buffer:addLog(severity, msg)
end
end
end
-- make sure that buffered logs are sent out once the tally is connected
tmr.create():alarm(50, tmr.ALARM_AUTO, function()
if buffer:hasLog() and MyTally and MyTally.isReady() and MyTally.isConnected() and MyWifi and MyWifi.isConnected() then
local severity, msg = buffer:getLog()
MyTally:sendLog(severity, msg)
end
end)
--- namespace for everything that logs stuff
_G.MyLog = {
--- log an info.
--- It might help debug issues, but is considered normal behavior.
info = createLog(buffer.INFO),
--- log a warning.
--- Something looks out of the ordinary, but is not a problem in itself.
warning = createLog(buffer.WARN),
--- log an error.
--- Something went obviously wrong.
error = createLog(buffer.ERROR),
}