diff options
author | kylo252 <[email protected]> | 2021-08-09 19:02:37 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2021-08-09 19:02:37 +0200 |
commit | 405423108fc31981c40116a827e845a1179c9053 (patch) | |
tree | 41a7cb23536c982ccdc3402ab9d4602f2538eb40 /lua/core/log.lua | |
parent | 625df947dcacf3804f4ec7335478535ecd8219af (diff) |
feat: Add an async logger using plenary (#1207)
Co-authored-by: rebuilt <[email protected]>
Diffstat (limited to 'lua/core/log.lua')
-rw-r--r-- | lua/core/log.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lua/core/log.lua b/lua/core/log.lua new file mode 100644 index 00000000..5dd5622e --- /dev/null +++ b/lua/core/log.lua @@ -0,0 +1,29 @@ +local Log = {} + +--- Creates a log handle based on Plenary.log +---@param opts these are passed verbatim to Plenary.log +---@return log handle +function Log:new(opts) + local status_ok, _ = pcall(require, "plenary.log") + if not status_ok then + return nil + end + + local obj = require("plenary.log").new(opts) + local path = string.format("%s/%s.log", vim.api.nvim_call_function("stdpath", { "cache" }), opts.plugin) + + obj.get_path = function() + return path + end + + return obj +end + +--- Creates or retrieves a log handle for the default logfile +--- based on Plenary.log +---@return log handle +function Log:get_default() + return Log:new { plugin = "lunarvim", level = lvim.log.level } +end + +return Log |