add river config
This commit is contained in:
parent
6af792a0e9
commit
ffa2bac00b
3 changed files with 89 additions and 0 deletions
48
chezmoi/dot_config/river/logger.lua
Normal file
48
chezmoi/dot_config/river/logger.lua
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
--- Logger interface
|
||||
---@class Logger
|
||||
---@field available_outputs table<string, file*> Available outputs to use in the logger
|
||||
---@field output file* The open file to write to
|
||||
local Logger = {
|
||||
available_outputs = {
|
||||
stdout = io.stdout
|
||||
},
|
||||
}
|
||||
|
||||
Logger.__index = Logger
|
||||
|
||||
--- Create a new logger instance
|
||||
---@param output? file* io.stdout by default, [see Logger.available_outputs](lua://Logger.available_outputs) for possible values
|
||||
---@return Logger
|
||||
function Logger:new(output)
|
||||
local obj = {
|
||||
output = output or Logger.available_outputs.stdout
|
||||
}
|
||||
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
|
||||
self:open()
|
||||
|
||||
return obj
|
||||
end
|
||||
|
||||
function Logger:open()
|
||||
self:log("\n\n\n")
|
||||
self:log("Opening logger...")
|
||||
end
|
||||
|
||||
function Logger:close()
|
||||
self:log("Closing logger...")
|
||||
self:log("\n\n\n")
|
||||
self.output:close()
|
||||
end
|
||||
|
||||
--- Write data to ouput, it passes the arguments directly to file:write(...)
|
||||
---@param ... string|number the data to write
|
||||
function Logger:log(...)
|
||||
self.output:write(arg)
|
||||
self.output:write("\n")
|
||||
self.output:flush()
|
||||
end
|
||||
|
||||
return Logger
|
||||
Loading…
Add table
Add a link
Reference in a new issue