40 lines
931 B
Lua
40 lines
931 B
Lua
local Log = require "cave.log"
|
|
local Meta = require "cave.meta"
|
|
|
|
local validate = Meta.validate
|
|
local Str = Meta.String
|
|
|
|
---@class cave.Logger
|
|
---@field prefix string
|
|
local Logger = Meta.derive "Logger"
|
|
|
|
---@param prefix string
|
|
function Logger:init(prefix) self.prefix = prefix end
|
|
|
|
---@param prefix string
|
|
---@return cave.Logger
|
|
function Logger.new(prefix)
|
|
validate { prefix = { prefix, Str } }
|
|
local logger = setmetatable({}, Logger)
|
|
logger:init(prefix)
|
|
return logger
|
|
end
|
|
|
|
---@param msg string
|
|
---@param ...? any
|
|
function Logger:dbg(msg, ...) Log.dbg(self.prefix .. msg, ...) end
|
|
|
|
---@param msg string
|
|
---@param ...? any
|
|
function Logger:err(msg, ...) Log.err(self.prefix .. msg, ...) end
|
|
|
|
---@param msg string
|
|
---@param ...? any
|
|
function Logger:inf(msg, ...) Log.inf(self.prefix .. msg, ...) end
|
|
|
|
---@param msg string
|
|
---@param ...? any
|
|
function Logger:warn(msg, ...) Log.warn(self.prefix .. msg, ...) end
|
|
|
|
return Logger
|