Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
92 lines
2.2 KiB
Markdown
92 lines
2.2 KiB
Markdown
---
|
|
title: "logger API"
|
|
description: "logger API provides some basic functions for log message when create plugins"
|
|
---
|
|
|
|
# [Available APIs](../) >> logger
|
|
|
|
<!-- vim-markdown-toc GFM -->
|
|
|
|
- [Intro](#intro)
|
|
- [Functions](#functions)
|
|
- [Usage](#usage)
|
|
|
|
<!-- vim-markdown-toc -->
|
|
|
|
## Intro
|
|
|
|
`logger` API provides some functions to create logger for plugin.
|
|
|
|
## Functions
|
|
|
|
| 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` |
|
|
|
|
## Usage
|
|
|
|
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`
|
|
|
|
```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:**
|
|
|
|
```lua
|
|
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
|
|
|
|
```
|