mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-23 22:14:54 +00:00
log: Allow #define LOG_DEBUG to enable logging in a file
At present it is possible to '#define DEBUG' at the top of a file which causes all debug() statements in that file to become active. There is currently no equivalent with logging, but this is a useful function. Add a LOG_DEBUG define along with documentation. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
8dee7b96fd
commit
f9811e8575
2 changed files with 21 additions and 1 deletions
|
@ -69,6 +69,21 @@ If CONFIG_LOG is not set, then no logging will be available.
|
||||||
The above have SPL versions also, e.g. CONFIG_SPL_MAX_LOG_LEVEL.
|
The above have SPL versions also, e.g. CONFIG_SPL_MAX_LOG_LEVEL.
|
||||||
|
|
||||||
|
|
||||||
|
Temporary logging within a single file
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
Sometimes it is useful to turn on logging just in one file. You can use this:
|
||||||
|
|
||||||
|
#define LOG_DEBUG
|
||||||
|
|
||||||
|
to enable building in of all logging statements in a single file. Put it at
|
||||||
|
the top of the file, before any #includes.
|
||||||
|
|
||||||
|
To actually get U-Boot to output this you need to also set the default logging
|
||||||
|
level - e.g. set CONFIG_LOG_DEFAULT_LEVEL to 7 (LOGL_DEBUG) or more. Otherwise
|
||||||
|
debug output is suppressed and will not be generated.
|
||||||
|
|
||||||
|
|
||||||
Convenience functions
|
Convenience functions
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
|
|
@ -111,11 +111,16 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(LOG)
|
#if CONFIG_IS_ENABLED(LOG)
|
||||||
|
#ifdef LOG_DEBUG
|
||||||
|
#define _LOG_DEBUG 1
|
||||||
|
#else
|
||||||
|
#define _LOG_DEBUG 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Emit a log record if the level is less that the maximum */
|
/* Emit a log record if the level is less that the maximum */
|
||||||
#define log(_cat, _level, _fmt, _args...) ({ \
|
#define log(_cat, _level, _fmt, _args...) ({ \
|
||||||
int _l = _level; \
|
int _l = _level; \
|
||||||
if (CONFIG_IS_ENABLED(LOG) && _l <= _LOG_MAX_LEVEL) \
|
if (CONFIG_IS_ENABLED(LOG) && (_l <= _LOG_MAX_LEVEL || _LOG_DEBUG)) \
|
||||||
_log((enum log_category_t)(_cat), _l, __FILE__, __LINE__, \
|
_log((enum log_category_t)(_cat), _l, __FILE__, __LINE__, \
|
||||||
__func__, \
|
__func__, \
|
||||||
pr_fmt(_fmt), ##_args); \
|
pr_fmt(_fmt), ##_args); \
|
||||||
|
|
Loading…
Add table
Reference in a new issue