Merge pull request #2408 from tastywheattasteslikechicken/MoreInterfaceSupport
[mono.git] / mono / utils / mono-log-darwin.c
1 /*
2  * mono-log-darwin.c: Darwin-specific interface to the logger
3  *
4  */
5 #include <config.h>
6
7 #if defined(HOST_IOS)
8
9 #include <asl.h>
10 #include "mono-logger-internals.h"
11 static int
12 to_asl_priority (GLogLevelFlags log_level)
13 {
14         switch (log_level & G_LOG_LEVEL_MASK)
15         {
16                 case G_LOG_LEVEL_ERROR:     return ASL_LEVEL_CRIT;
17                 case G_LOG_LEVEL_CRITICAL:  return ASL_LEVEL_ERR;
18                 case G_LOG_LEVEL_WARNING:   return ASL_LEVEL_WARNING;
19                 case G_LOG_LEVEL_MESSAGE:   return ASL_LEVEL_NOTICE;
20                 case G_LOG_LEVEL_INFO:      return ASL_LEVEL_INFO;
21                 case G_LOG_LEVEL_DEBUG:     return ASL_LEVEL_DEBUG;
22         }
23         return ASL_LEVEL_ERR;
24 }
25
26 void
27 mono_log_open_asl (const char *path, void *userData)
28 {
29 }
30
31 void
32 mono_log_write_asl (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message)
33 {
34         asl_log (NULL, NULL, to_asl_priority (level), "%s%s%s\n",
35                 log_domain != NULL ? log_domain : "",
36                 log_domain != NULL ? ": " : "",
37                 message);
38
39         if (level & G_LOG_LEVEL_ERROR)
40                 abort();
41 }
42
43 void
44 mono_log_close_asl ()
45 {
46 }
47 #endif