aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/log.h
diff options
context:
space:
mode:
authorThiago de Arruda <tpadilha84@gmail.com>2014-10-23 19:13:31 -0300
committerThiago de Arruda <tpadilha84@gmail.com>2014-10-23 21:46:03 -0300
commit64844b7312150e5c7e66997c1b0b4b7668acdd71 (patch)
tree5b0dc4ec448deed5e8eae36b2dea7312e68bff71 /src/nvim/log.h
parentf05fead12e380fa63dc99ceb65332569e4e06c43 (diff)
downloadrneovim-64844b7312150e5c7e66997c1b0b4b7668acdd71.tar.gz
rneovim-64844b7312150e5c7e66997c1b0b4b7668acdd71.tar.bz2
rneovim-64844b7312150e5c7e66997c1b0b4b7668acdd71.zip
msgpack-rpc: Improve logging of msgpack-rpc messages
- Expose more logging control from the log.c module(get log stream and omit newlines) - Remove logging from the generated functions in msgpack-gen.lua - Refactor channel.c/helpers.c to log every msgpack-rpc payload using msgpack_object_print(a helper function from msgpack.h) - Remove the api_stringify function, it was only useful for logging msgpack-rpc which is now handled by msgpack_object_print.
Diffstat (limited to 'src/nvim/log.h')
-rw-r--r--src/nvim/log.h29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/nvim/log.h b/src/nvim/log.h
index f1ee63a4e2..152e90760e 100644
--- a/src/nvim/log.h
+++ b/src/nvim/log.h
@@ -1,6 +1,7 @@
#ifndef NVIM_LOG_H
#define NVIM_LOG_H
+#include <stdio.h>
#include <stdbool.h>
#define DEBUG_LOG_LEVEL 0
@@ -9,9 +10,13 @@
#define ERROR_LOG_LEVEL 3
#define DLOG(...)
+#define DLOGN(...)
#define ILOG(...)
+#define ILOGN(...)
#define WLOG(...)
+#define WLOGN(...)
#define ELOG(...)
+#define ELOGN(...)
// Logging is disabled if NDEBUG or DISABLE_LOG is defined.
#ifdef NDEBUG
@@ -28,22 +33,38 @@
# if MIN_LOG_LEVEL <= DEBUG_LOG_LEVEL
# undef DLOG
-# define DLOG(...) do_log(DEBUG_LOG_LEVEL, __func__, __LINE__, __VA_ARGS__)
+# undef DLOGN
+# define DLOG(...) do_log(DEBUG_LOG_LEVEL, __func__, __LINE__, true, \
+ __VA_ARGS__)
+# define DLOGN(...) do_log(DEBUG_LOG_LEVEL, __func__, __LINE__, false, \
+ __VA_ARGS__)
# endif
# if MIN_LOG_LEVEL <= INFO_LOG_LEVEL
# undef ILOG
-# define ILOG(...) do_log(INFO_LOG_LEVEL, __func__, __LINE__, __VA_ARGS__)
+# undef ILOGN
+# define ILOG(...) do_log(INFO_LOG_LEVEL, __func__, __LINE__, true, \
+ __VA_ARGS__)
+# define ILOGN(...) do_log(INFO_LOG_LEVEL, __func__, __LINE__, false, \
+ __VA_ARGS__)
# endif
# if MIN_LOG_LEVEL <= WARNING_LOG_LEVEL
# undef WLOG
-# define WLOG(...) do_log(WARNING_LOG_LEVEL, __func__, __LINE__, __VA_ARGS__)
+# undef WLOGN
+# define WLOG(...) do_log(WARNING_LOG_LEVEL, __func__, __LINE__, true, \
+ __VA_ARGS__)
+# define WLOGN(...) do_log(WARNING_LOG_LEVEL, __func__, __LINE__, false, \
+ __VA_ARGS__)
# endif
# if MIN_LOG_LEVEL <= ERROR_LOG_LEVEL
# undef ELOG
-# define ELOG(...) do_log(ERROR_LOG_LEVEL, __func__, __LINE__, __VA_ARGS__)
+# undef ELOGN
+# define ELOG(...) do_log(ERROR_LOG_LEVEL, __func__, __LINE__, true, \
+ __VA_ARGS__)
+# define ELOGN(...) do_log(ERROR_LOG_LEVEL, __func__, __LINE__, false, \
+ __VA_ARGS__)
# endif
#endif