diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-04-28 19:40:13 -0300 |
---|---|---|
committer | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-05-06 09:22:39 -0300 |
commit | ee62510d4e623e5fb4a0cc7d5b450ce18c24e25f (patch) | |
tree | 5bd1fd960070d0ca794f3f1ed2cd4fcbc297cef0 /src/vim.h | |
parent | c53d3f0071129ffe1daf3d86b5cb6c83c483ecda (diff) | |
download | rneovim-ee62510d4e623e5fb4a0cc7d5b450ce18c24e25f.tar.gz rneovim-ee62510d4e623e5fb4a0cc7d5b450ce18c24e25f.tar.bz2 rneovim-ee62510d4e623e5fb4a0cc7d5b450ce18c24e25f.zip |
Macro-based log utility for Neovim
This commit introduces 4 macros (for different log levels) that can be used
to log messages to $HOME/.nvimlog:
- DLOG: log a debug message (e.g. `DLOG("sum(%d, %d): %d", x, y, sum(x, y));`)
- ILOG: log some useful information (e.g. `ILOG("Main loop started")`)
- WLOG: log a warning (e.g. `WLOG("Command not found: %s", command)`)
- ELOG: log an error (e.g. `ELOG("Out of memory. Exiting.")`)
All these macros are disabled if `NDEBUG` or `DISABLE_LOG` is defined. This
guarantees that a `Release` build won't log anything.
`MIN_LOG_LEVEL` can be defined to reduce the verbosity of the log. The log
levels are:
```
DEBUG_LOG_LEVEL 0
INFO_LOG_LEVEL 1
WARNING_LOG_LEVEL 2
ERROR_LOG_LEVEL 3
```
`MIN_LOG_LEVEL` is 0 by default enabling all levels. If `MIN_LOG_LEVEL` is set
to 2, for example, only warnings and errors will be logged.
That's how the log looks like:
```
DATETIME LOG_LEVEL FUNCTION LINE PID FORMATTED MESSAGE
2014/05/01 23:46:14 [info @ main_loop:582] 44376 - Starting Neovim main loop.
2014/05/01 23:46:31 [info @ main_loop:582] 44400 - Starting Neovim main loop.
```
Diffstat (limited to 'src/vim.h')
0 files changed, 0 insertions, 0 deletions