mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-02-03 05:30:05 +08:00
Use logger api
This commit is contained in:
parent
e4428baaa2
commit
8841a40435
@ -1,57 +1,28 @@
|
||||
let s:logger_level = get(g:, 'spacevim_debug_level', 1)
|
||||
let s:levels = ['Info', 'Warn', 'Error']
|
||||
let s:logger_file = expand('~/.cache/SpaceVim/SpaceVim.log')
|
||||
let s:log_temp = []
|
||||
let s:LOGGER = SpaceVim#api#import('logger')
|
||||
|
||||
call s:LOGGER.set_name('SpaceVim')
|
||||
call s:LOGGER.set_file(expand('~/.cache/SpaceVim/SpaceVim.log'))
|
||||
call s:LOGGER.set_level(1)
|
||||
|
||||
function! SpaceVim#logger#info(msg)
|
||||
|
||||
call s:LOGGER.info(a:msg)
|
||||
|
||||
""
|
||||
" @public
|
||||
" Set debug level of SpaceVim. Default is 1.
|
||||
"
|
||||
" 1 : log all messages
|
||||
"
|
||||
" 2 : log warning and error messages
|
||||
"
|
||||
" 3 : log error messages only
|
||||
function! SpaceVim#logger#setLevel(level) abort
|
||||
let s:logger_level = a:level
|
||||
endfunction
|
||||
|
||||
function! SpaceVim#logger#info(msg) abort
|
||||
if g:spacevim_enable_debug && s:logger_level <= 1
|
||||
call s:wite(s:warpMsg(a:msg, 1))
|
||||
else
|
||||
call add(s:log_temp,s:warpMsg(a:msg,1))
|
||||
endif
|
||||
|
||||
function! SpaceVim#logger#warn(msg)
|
||||
|
||||
call s:LOGGER.warn(a:msg)
|
||||
|
||||
endfunction
|
||||
|
||||
function! SpaceVim#logger#warn(msg) abort
|
||||
let msg = s:warpMsg(a:msg, 2)
|
||||
echohl WarningMsg
|
||||
echomsg msg
|
||||
echohl NONE
|
||||
if g:spacevim_enable_debug && s:logger_level <= 2
|
||||
call s:wite(s:warpMsg(a:msg, 2))
|
||||
else
|
||||
call add(s:log_temp,s:warpMsg(a:msg,2))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! SpaceVim#logger#error(msg) abort
|
||||
if get(g:, 'spacevim_enable_debug', 1) && s:logger_level <= 3
|
||||
call s:wite(s:warpMsg(a:msg, 3))
|
||||
else
|
||||
call add(s:log_temp,s:warpMsg(a:msg,3))
|
||||
endif
|
||||
endfunction
|
||||
function! SpaceVim#logger#error(msg)
|
||||
|
||||
function! s:wite(msg) abort
|
||||
if !isdirectory(expand('~/.cache/SpaceVim/'))
|
||||
call mkdir(expand('~/.cache/SpaceVim/'), 'p')
|
||||
endif
|
||||
let flags = filewritable(s:logger_file) ? 'a' : ''
|
||||
call writefile([a:msg], s:logger_file, flags)
|
||||
endfunction
|
||||
call s:LOGGER.error(a:msg)
|
||||
|
||||
endfunction
|
||||
|
||||
function! SpaceVim#logger#viewLog(...) abort
|
||||
let info = "### SpaceVim Options :\n\n"
|
||||
@ -67,19 +38,8 @@ function! SpaceVim#logger#viewLog(...) abort
|
||||
let info .= "### SpaceVim runtime log :\n\n"
|
||||
let info .= "```log\n"
|
||||
|
||||
let l = s:logger_level
|
||||
if filereadable(s:logger_file)
|
||||
let logs = readfile(s:logger_file, '')
|
||||
let info .= join(filter(logs,
|
||||
\ "v:val =~# '\[ SpaceVim \] \[\d\d\:\d\d\:\d\d\] \["
|
||||
\ . s:levels[l] . "\]'"), "\n")
|
||||
else
|
||||
let info .= '[ SpaceVim ] : logger file ' . s:logger_file
|
||||
\ . ' does not exists, only log for current process will be shown!'
|
||||
let info .= join(filter(s:log_temp,
|
||||
\ "v:val =~# '\[ SpaceVim \] \[\d\d\:\d\d\:\d\d\] \["
|
||||
\ . s:levels[l] . "\]'"), "\n")
|
||||
endif
|
||||
let info .= s:LOGGER.view(s:LOGGER.level)
|
||||
|
||||
let info .= "\n```\n"
|
||||
if a:0 > 0
|
||||
if a:1 == 1
|
||||
@ -100,23 +60,22 @@ function! SpaceVim#logger#viewLog(...) abort
|
||||
endif
|
||||
endfunction
|
||||
|
||||
""
|
||||
" @public
|
||||
" Set debug level of SpaceVim. Default is 1.
|
||||
"
|
||||
" 1 : log all messages
|
||||
"
|
||||
" 2 : log warning and error messages
|
||||
"
|
||||
" 3 : log error messages only
|
||||
function! SpaceVim#logger#setLevel(level) abort
|
||||
call s:LOGGER.set_level(a:level)
|
||||
endfunction
|
||||
|
||||
""
|
||||
" @public
|
||||
" Set the log output file of SpaceVim. Default is `~/.SpaceVim/.SpaceVim.log`.
|
||||
function! SpaceVim#logger#setOutput(file) abort
|
||||
let s:logger_file = a:file
|
||||
call s:LOGGER.set_file(a:file)
|
||||
endfunction
|
||||
|
||||
function! s:warpMsg(msg,l) abort
|
||||
let time = strftime('%H:%M:%S')
|
||||
let log = '[ SpaceVim ] [' . time . '] [' . s:levels[a:l - 1] . '] ' . a:msg
|
||||
return log
|
||||
endfunction
|
||||
|
||||
function! SpaceVim#logger#echoWarn(msg) abort
|
||||
echohl WarningMsg
|
||||
echom s:warpMsg(a:msg, 1)
|
||||
echohl None
|
||||
endfunction
|
||||
|
||||
" vim:set et sw=2 cc=80:
|
||||
|
Loading…
Reference in New Issue
Block a user