shared: add nm_log_level_from_syslog() helper to convert from syslog levels

This commit is contained in:
Thomas Haller
2019-05-03 15:08:04 +02:00
parent 4aba7d4696
commit 8decdf2225
3 changed files with 28 additions and 18 deletions

View File

@@ -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__ */

View File

@@ -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), '/'); \

View 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));