mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-03-12 09:35:40 +08:00
Add spacevim lua logger (#4398)
This commit is contained in:
parent
384964526b
commit
8f742f30a2
@ -81,6 +81,30 @@ function M.info(msg)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function M.view(l)
|
||||||
|
local info = ''
|
||||||
|
local logs = ''
|
||||||
|
if fn.filereadable(M.file) == 1 then
|
||||||
|
logs = fn.readfile(M.file, '')
|
||||||
|
info = info .. fn.join(fn.filter(logs, 'self._comp(v:val, a:l)'), "\n")
|
||||||
|
else
|
||||||
|
info = info .. '[ ' .. M.name .. ' ] : logger file ' .. M.file
|
||||||
|
.. ' does not exists, only log for current process will be shown!'
|
||||||
|
.. "\n"
|
||||||
|
for key, value in pairs(M.temp) do
|
||||||
|
if M._comp(value, l) == 1 then
|
||||||
|
info = info .. value .. "\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return info
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function M._comp(a, b)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
function M.set_name(name)
|
function M.set_name(name)
|
||||||
M.name = name
|
M.name = name
|
||||||
end
|
end
|
||||||
|
84
lua/spacevim/logger.lua
Normal file
84
lua/spacevim/logger.lua
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
local logger = require('spacevim.api').import('logger')
|
||||||
|
local cmd = require('spacevim').cmd
|
||||||
|
local fn = nil
|
||||||
|
if vim.fn == nil then
|
||||||
|
fn = require('spacevim').fn
|
||||||
|
else
|
||||||
|
fn = vim.fn
|
||||||
|
end
|
||||||
|
|
||||||
|
logger.set_name('SpaceVim')
|
||||||
|
logger.set_level(1)
|
||||||
|
logger.set_silent(1)
|
||||||
|
logger.set_verbose(1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function M.info(msg)
|
||||||
|
logger.info(msg)
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.warn(msg, ...)
|
||||||
|
logger.warn(msg, ...)
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.error(msg)
|
||||||
|
logger.error(msg)
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.setLevel(level)
|
||||||
|
logger.set_level(level)
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.setOutput(file)
|
||||||
|
logger.set_file(file)
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.viewRuntimeLog()
|
||||||
|
local info = "### SpaceVim runtime log :\n\n"
|
||||||
|
.. "```log\n"
|
||||||
|
.. logger.view(logger.level)
|
||||||
|
.. "\n```\n"
|
||||||
|
cmd('tabnew')
|
||||||
|
cmd('setl nobuflisted')
|
||||||
|
cmd('nnoremap <buffer><silent> q :tabclose!<CR>')
|
||||||
|
-- put info into buffer
|
||||||
|
fn.append(0, fn.split(info, "\n"))
|
||||||
|
cmd('setl nomodifiable')
|
||||||
|
cmd('setl buftype=nofile')
|
||||||
|
cmd('setl filetype=markdown')
|
||||||
|
M.syntax_extra()
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.syntax_extra()
|
||||||
|
fn.matchadd('ErrorMsg','.*[\\sError\\s\\].*')
|
||||||
|
fn.matchadd('WarningMsg','.*[\\sWarn\\s\\].*')
|
||||||
|
end
|
||||||
|
|
||||||
|
function M.derive(name)
|
||||||
|
local derive = {}
|
||||||
|
derive['origin_name'] = logger.get_name()
|
||||||
|
|
||||||
|
function derive.info()
|
||||||
|
logger.set_name(self.derive_name)
|
||||||
|
logger.info(msg)
|
||||||
|
logger.set_name(self.origin_name)
|
||||||
|
end
|
||||||
|
function derive.warn()
|
||||||
|
logger.set_name(self.derive_name)
|
||||||
|
logger.warn(msg)
|
||||||
|
logger.set_name(self.origin_name)
|
||||||
|
end
|
||||||
|
function derive.error()
|
||||||
|
logger.set_name(self.derive_name)
|
||||||
|
logger.error(msg)
|
||||||
|
logger.set_name(self.origin_name)
|
||||||
|
end
|
||||||
|
|
||||||
|
derive['derive_name'] = fn.printf('%' .. fn.strdisplaywidth(logger.get_name()) .. 'S', name)
|
||||||
|
return derive
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
Loading…
x
Reference in New Issue
Block a user