SpaceVim
A modular Vim/Neovim configuration
Home | About | Quick start guide | Documentation | Development | Community | Sponsors | 中文
logger
API provides some functions to create logger for plugin.
name | description |
---|---|
set_name(string) |
set the name of current logger |
set_silent(silent) |
enable/disable silent mode, silent should be boolean or 0/1 |
set_verbose(number) |
set the verbose level |
set_level(number) |
set the logger level |
error(string) |
log error message |
warn(string) |
log string only when level <= 2 |
info(string) |
log string only when level <= 1 |
debug(string) |
log string only when level <= 0 |
The logger
api provides two versions, the vim script and lua:
vim script:
here is an example for creatting logger for plugin foo.vim
.
autoload/foo/log.vim
let s:LOGGER = SpaceVim#api#import('logger')
" set the name of current logger, after that, the log just looks like:
" name time level message
" [ foo ] [11:31:26] [ Info ] log message here
call s:LOGGER.set_name('foo')
call s:LOGGER.set_level(1)
call s:LOGGER.set_silent(1)
call s:LOGGER.set_verbose(1)
function! foo#log#info(msg) abort
call s:LOGGER.info(a:msg)
endfunction
function! foo#log#warn(msg, ...) abort
let issilent = get(a:000, 0, 1)
call s:LOGGER.warn(a:msg, issilent)
endfunction
function! foo#log#error(msg) abort
call s:LOGGER.error(a:msg)
endfunction
function! foo#log#setLevel(level) abort
call s:LOGGER.set_level(a:level)
endfunction
function! foo#log#setOutput(file) abort
call s:LOGGER.set_file(a:file)
endfunction
lua script:
local logger = require('spacevim.api').import('logger')
logger.set_name('foo')
logger.set_level(1)
logger.set_silent(1)
logger.set_verbose(1)
local function warn(msg)
logger.warn(msg)
end
Powered by Jekyll