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_logfile
60 * Open the syslog interface specifying that we want our PID recorded
61 * and that we're using the LOG_USER facility.
63 * @ident - Identifier: ignored
64 * @userData - Not used
67 mono_log_open_syslog(const char *ident, void *userData)
69 openlog("mono", LOG_PID, LOG_USER);
70 logUserData = userData;
74 * mono_log_write_syslog
76 * Write data to the log file.
78 * @domain - Identifier string
79 * @level - Logging level flags
80 * @format - Printf format string
81 * @vargs - Variable argument list
84 mono_log_write_syslog(const char *domain, GLogLevelFlags level, mono_bool hdr, const char *message)
86 syslog (mapSyslogLevel(level), "%s", message);
88 if (level & G_LOG_LEVEL_ERROR)
93 * mono_log_close_logfile
98 mono_log_close_syslog()