3 * POSIX interface to the logger
5 * This module contains the POSIX syslog logger routines
8 * Neale Ferguson <neale@sinenomine.net>
17 #if defined(_POSIX_VERSION)
29 #include "mono-logger-internals.h"
31 static void *logUserData = NULL;
36 * @level - GLogLevelFlags value
37 * @returns The equivalent syslog priority value
40 mapSyslogLevel(GLogLevelFlags level)
42 if (level & G_LOG_LEVEL_ERROR)
44 if (level & G_LOG_LEVEL_CRITICAL)
46 if (level & G_LOG_LEVEL_WARNING)
48 if (level & G_LOG_LEVEL_MESSAGE)
50 if (level & G_LOG_LEVEL_INFO)
52 if (level & G_LOG_LEVEL_DEBUG)
58 * mono_log_open_syslog:
59 * \param ident Identifier: ignored
60 * \param userData Not used
61 * Open the syslog interface specifying that we want our PID recorded
62 * and that we're using the \c LOG_USER facility.
65 mono_log_open_syslog(const char *ident, void *userData)
67 openlog("mono", LOG_PID, LOG_USER);
68 logUserData = userData;
72 * mono_log_write_syslog:
73 * \param domain Identifier string
74 * \param level Logging level flags
75 * \param format \c printf format string
76 * \param vargs Variable argument list
77 * Write data to the log file.
80 mono_log_write_syslog(const char *domain, GLogLevelFlags level, mono_bool hdr, const char *message)
82 syslog (mapSyslogLevel(level), "%s", message);
84 if (level & G_LOG_LEVEL_ERROR)
89 * mono_log_close_syslog:
93 mono_log_close_syslog()