From ee62510d4e623e5fb4a0cc7d5b450ce18c24e25f Mon Sep 17 00:00:00 2001 From: Felipe Oliveira Carvalho Date: Mon, 28 Apr 2014 19:40:13 -0300 Subject: 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. ``` --- clint-files.txt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'clint-files.txt') diff --git a/clint-files.txt b/clint-files.txt index 68c2358f85..76da1f3656 100644 --- a/clint-files.txt +++ b/clint-files.txt @@ -1,5 +1,7 @@ src/indent.c src/indent.h +src/log.c +src/log.h src/os/env.c src/os/event.c src/os/event_defs.h -- cgit