Loading...
Searching...
No Matches
Go to the documentation of this file.
24# define ANJ_INTERNAL_INCLUDE_LOG_FILTERING_UTILS
25# include <anj_internal/log/log_filtering_utils.h>
26# undef ANJ_INTERNAL_INCLUDE_LOG_FILTERING_UTILS
35# define ANJ_LOG_PRINTF_ARG_CHECK(...) ((void) sizeof(printf(__VA_ARGS__)))
41# define ANJ_LOG_ENFORCE_FORMAT_INLINE_LITERAL(...) "" __VA_ARGS__
51# define ANJ_LOG_COMPILE_TIME_CHECK(...) \
52 ANJ_LOG_PRINTF_ARG_CHECK( \
53 ANJ_LOG_ENFORCE_FORMAT_INLINE_LITERAL(__VA_ARGS__))
55# ifdef _ANJ_LOG_ENABLED
58# define ANJ_LOG_HANDLER_IMPL_MACRO(Module, LogLevel, ...) \
59 anj_log_handler_impl_full(ANJ_LOG_LEVEL_##LogLevel, \
60 ANJ_QUOTE_MACRO(Module), __FILE__, \
61 __LINE__, __VA_ARGS__)
64# ifdef ANJ_LOG_ALT_IMPL_HEADER
65# include ANJ_LOG_ALT_IMPL_HEADER
68# ifdef ANJ_LOG_FILTERING_CONFIG_HEADER
69# include ANJ_LOG_FILTERING_CONFIG_HEADER
72# ifndef ANJ_LOG_LEVEL_DEFAULT
73# define ANJ_LOG_LEVEL_DEFAULT L_INFO
76# define ANJ_LOG_IF_ALLOWED_LOOKUP_ANJ_LOG_YES(Module, LogLevel, ...) \
77 ANJ_LOG_HANDLER_IMPL_MACRO(Module, LogLevel, __VA_ARGS__)
78# define ANJ_LOG_IF_ALLOWED_LOOKUP_ANJ_LOG_NO(Module, LogLevel, ...) \
81# define ANJ_LOG_IF_ALLOWED(Module, LogLevel, ...) \
82 ANJ_CONCAT(ANJ_LOG_IF_ALLOWED_LOOKUP_, \
83 _ANJ_LOG_EMIT_CALL(LogLevel, \
84 _ANJ_LOG_MODULE_LEVEL(Module))) \
85 (Module, LogLevel, __VA_ARGS__)
87# define ANJ_LOG_IF_ALLOWED(Module, LogLevel, ...) ((void) 0)
114# define anj_log(Module, LogLevel, ...) \
115 ((void) (ANJ_LOG_IF_ALLOWED(Module, LogLevel, __VA_ARGS__), \
116 ANJ_LOG_COMPILE_TIME_CHECK(__VA_ARGS__)))
118# ifdef ANJ_LOG_STRIP_CONSTANTS
119# define ANJ_LOG_DISPOSABLE_IMPL(Arg) " "
121# define ANJ_LOG_DISPOSABLE_IMPL(Arg) Arg
137# define ANJ_LOG_DISPOSABLE(Arg) ANJ_LOG_DISPOSABLE_IMPL(Arg)