mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 05:51:39 +00:00
- Promoted sync-related logging from Debug/Trace to Info level across multiple files, ensuring visibility of changes in the Studio output console. - Added a new plan for expanding the connected mode test suite to cover multi-step scenarios and round-trip identity verification. - Introduced a plan to fix stale tree desynchronization by implementing a validation mechanism on plugin connection. - Created a plan to bump sync logging to Info level, detailing todos for various components in the plugin. This update improves the clarity of logs and enhances testing coverage for connected mode scenarios.
60 lines
1.1 KiB
Lua
60 lines
1.1 KiB
Lua
local Fmt = require(script.Parent.Fmt)
|
|
|
|
local Level = {
|
|
Error = 0,
|
|
Warning = 1,
|
|
Info = 2,
|
|
Debug = 3,
|
|
Trace = 4,
|
|
}
|
|
|
|
local function getLogLevel()
|
|
return Level.Info
|
|
end
|
|
|
|
local function addTags(tag, message)
|
|
return tag .. message
|
|
end
|
|
|
|
local TRACE_TAG = "[Rojo-Trace] "
|
|
local INFO_TAG = "[Rojo-Info] "
|
|
local DEBUG_TAG = "[Rojo-Debug] "
|
|
local WARN_TAG = "[Rojo-Warn] "
|
|
|
|
local Log = {}
|
|
|
|
Log.Level = Level
|
|
|
|
function Log.setLogLevelThunk(thunk)
|
|
getLogLevel = thunk
|
|
end
|
|
|
|
function Log.trace(template, ...)
|
|
if getLogLevel() >= Level.Trace then
|
|
print(addTags(TRACE_TAG, Fmt.fmt(template, ...)))
|
|
end
|
|
end
|
|
|
|
function Log.info(template, ...)
|
|
if getLogLevel() >= Level.Info then
|
|
print(addTags(INFO_TAG, Fmt.fmt(template, ...)))
|
|
end
|
|
end
|
|
|
|
function Log.debug(template, ...)
|
|
if getLogLevel() >= Level.Debug then
|
|
print(addTags(DEBUG_TAG, Fmt.fmt(template, ...)))
|
|
end
|
|
end
|
|
|
|
function Log.warn(template, ...)
|
|
if getLogLevel() >= Level.Warning then
|
|
warn(addTags(WARN_TAG, Fmt.fmt(template, ...)))
|
|
end
|
|
end
|
|
|
|
function Log.error(template, ...)
|
|
error(Fmt.fmt(template, ...))
|
|
end
|
|
|
|
return Log
|