diff options
| author | Michael Biebl <biebl@debian.org> | 2021-02-11 18:11:46 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2021-02-11 18:11:46 +0100 |
| commit | 80ec1decc49c72efec2a8b87c06245c92c0ab807 (patch) | |
| tree | e3b229aa94e8dcf0590f2317664176e7b8f7607b /shared/systemd/src/basic/log.h | |
| parent | 65f86e8f56267192d42f2b629fc6b0c99fb9cd0c (diff) | |
New upstream version 1.29.90 upstream/1.29.90
Diffstat (limited to 'shared/systemd/src/basic/log.h')
| -rw-r--r-- | shared/systemd/src/basic/log.h | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/shared/systemd/src/basic/log.h b/shared/systemd/src/basic/log.h index c2ffbb5d..ee2e4839 100644 --- a/shared/systemd/src/basic/log.h +++ b/shared/systemd/src/basic/log.h @@ -1,4 +1,4 @@ -/* SPDX-License-Identifier: LGPL-2.1+ */ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once #include <stdarg.h> @@ -44,10 +44,17 @@ typedef enum LogTarget{ #define ERRNO_VALUE(val) (abs(val) & 255) void log_set_target(LogTarget target); + void log_set_max_level_realm(LogRealm realm, int level); + #define log_set_max_level(level) \ log_set_max_level_realm(LOG_REALM, (level)) +static inline void log_set_max_level_all_realms(int level) { + for (LogRealm realm = 0; realm < _LOG_REALM_MAX; realm++) + log_set_max_level_realm(realm, level); +} + void log_set_facility(int facility); int log_set_target_from_string(const char *e); @@ -122,6 +129,31 @@ int log_internal_realm( #define log_internal(level, ...) \ log_internal_realm(LOG_REALM_PLUS_LEVEL(LOG_REALM, (level)), __VA_ARGS__) +#define log_object_internal(level, \ + error, \ + file, \ + line, \ + func, \ + object_field, \ + object, \ + extra_field, \ + extra, \ + format, \ + ...) \ + ({ \ + const char *const _object = (object); \ + \ + log_internal_realm((level), \ + (error), \ + file, \ + (line), \ + (func), \ + "%s%s" format, \ + _object ?: "", \ + _object ? ": " : "", \ + ##__VA_ARGS__); \ + }) + #if 0 /* NM_IGNORED */ int log_internalv_realm( int level, @@ -169,7 +201,7 @@ int log_struct_internal( const char *format, ...) _printf_(6,0) _sentinel_; int log_oom_internal( - LogRealm realm, + int level, const char *file, int line, const char *func); @@ -293,7 +325,8 @@ int log_emergency_level(void); log_dump_internal(LOG_REALM_PLUS_LEVEL(LOG_REALM, level), \ 0, PROJECT_FILE, __LINE__, __func__, buffer) -#define log_oom() log_oom_internal(LOG_REALM, PROJECT_FILE, __LINE__, __func__) +#define log_oom() log_oom_internal(LOG_REALM_PLUS_LEVEL(LOG_REALM, LOG_ERR), PROJECT_FILE, __LINE__, __func__) +#define log_oom_debug() log_oom_internal(LOG_REALM_PLUS_LEVEL(LOG_REALM, LOG_DEBUG), PROJECT_FILE, __LINE__, __func__) bool log_on_console(void) _pure_; |