shared: add nm_log_level_from_syslog() helper to convert from syslog levels
This commit is contained in:
@@ -110,4 +110,21 @@ void _nm_log_impl (const char *file,
|
||||
const char *fmt,
|
||||
...) _nm_printf (10, 11);
|
||||
|
||||
static inline NMLogLevel
|
||||
nm_log_level_from_syslog (int syslog_level)
|
||||
{
|
||||
switch (syslog_level) {
|
||||
case 0 /* LOG_EMERG */ : return LOGL_ERR;
|
||||
case 1 /* LOG_ALERT */ : return LOGL_ERR;
|
||||
case 2 /* LOG_CRIT */ : return LOGL_ERR;
|
||||
case 3 /* LOG_ERR */ : return LOGL_ERR;
|
||||
case 4 /* LOG_WARNING */ : return LOGL_WARN;
|
||||
case 5 /* LOG_NOTICE */ : return LOGL_INFO;
|
||||
case 6 /* LOG_INFO */ : return LOGL_DEBUG;
|
||||
case 7 /* LOG_DEBUG */ : return LOGL_TRACE;
|
||||
default:
|
||||
return syslog_level >= 0 ? LOGL_TRACE : LOGL_ERR;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* __NM_LOGGING_DEFINES_H__ */
|
||||
|
@@ -21,8 +21,6 @@
|
||||
|
||||
#include "nm-default.h"
|
||||
|
||||
#include <syslog.h>
|
||||
|
||||
#include "nm-glib-aux/nm-logging-fwd.h"
|
||||
|
||||
/*****************************************************************************/
|
||||
@@ -32,32 +30,18 @@
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
static inline NMLogLevel
|
||||
_slog_level_to_nm (int slevel)
|
||||
{
|
||||
switch (LOG_PRI (slevel)) {
|
||||
case LOG_DEBUG: return LOGL_DEBUG;
|
||||
case LOG_WARNING: return LOGL_WARN;
|
||||
case LOG_CRIT:
|
||||
case LOG_ERR: return LOGL_ERR;
|
||||
case LOG_INFO:
|
||||
case LOG_NOTICE:
|
||||
default: return LOGL_INFO;
|
||||
}
|
||||
}
|
||||
|
||||
static inline int
|
||||
_nm_log_get_max_level_realm (void)
|
||||
{
|
||||
/* inline function, to avoid coverity warning about constant expression. */
|
||||
return LOG_DEBUG;
|
||||
return 7 /* LOG_DEBUG */;
|
||||
}
|
||||
#define log_get_max_level_realm(realm) _nm_log_get_max_level_realm ()
|
||||
|
||||
#define log_internal_realm(level, error, file, line, func, format, ...) \
|
||||
({ \
|
||||
const int _nm_e = (error); \
|
||||
const NMLogLevel _nm_l = _slog_level_to_nm ((level)); \
|
||||
const NMLogLevel _nm_l = nm_log_level_from_syslog (LOG_PRI (level)); \
|
||||
\
|
||||
if (_nm_log_enabled_impl (!(NM_THREAD_SAFE_ON_MAIN_THREAD), _nm_l, LOGD_SYSTEMD)) { \
|
||||
const char *_nm_location = strrchr ((""file), '/'); \
|
||||
|
@@ -68,6 +68,15 @@
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
G_STATIC_ASSERT (LOG_EMERG == 0);
|
||||
G_STATIC_ASSERT (LOG_ALERT == 1);
|
||||
G_STATIC_ASSERT (LOG_CRIT == 2);
|
||||
G_STATIC_ASSERT (LOG_ERR == 3);
|
||||
G_STATIC_ASSERT (LOG_WARNING == 4);
|
||||
G_STATIC_ASSERT (LOG_NOTICE == 5);
|
||||
G_STATIC_ASSERT (LOG_INFO == 6);
|
||||
G_STATIC_ASSERT (LOG_DEBUG == 7);
|
||||
|
||||
/* We have more then 32 logging domains. Assert that it compiles to a 64 bit sized enum */
|
||||
G_STATIC_ASSERT (sizeof (NMLogDomain) >= sizeof (guint64));
|
||||
|
||||
|
Reference in New Issue
Block a user