Initial commit

This commit is contained in:
2024-10-02 14:54:32 +02:00
commit 14af275c5c
27 changed files with 1871 additions and 0 deletions

39
lua/cave/log/logger.lua Normal file
View File

@@ -0,0 +1,39 @@
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