diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2015-11-17 11:52:24 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <holger@moiji-mobile.com> | 2016-02-29 14:30:14 +0100 |
commit | de6dd72dbbbcc7facf25c4a2521c71f653c7b1b2 (patch) | |
tree | 6c0852d9f766a50d7d6d688b46ea67ace164dc2e /include | |
parent | f20f5fd5085879624fb6de1e5b9b5ad435ea0500 (diff) |
log: Add log_check_level function
This commit adds this predicate function which can be used to
avoid the execution of code if a certain log level is not enabled.
The function will only return 0 (false), if it is sure that a logging
call for the same facility and level will not produce any output.
This safety criterion shall ensure, that no logging output is lost
due to the use of this predicate as a guard. On the other hand, even
if the predicate returns != 0 (true), no logging output might get
generated by a similar logging command.
Note that the current implementation is not focussed on performance,
which could be improved by using a lookup table instead of iterating
through every target.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'include')
-rw-r--r-- | include/osmocom/core/logging.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 1c159d0b..290b33df 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -198,6 +198,7 @@ void logp2(int subsys, unsigned int level, const char *file, int line, int cont, const char *format, ...) __attribute__ ((format (printf, 6, 7))); int log_init(const struct log_info *inf, void *talloc_ctx); +int log_check_level(int subsys, unsigned int level); /* context management */ void log_reset_context(void); |