[amd64] Fix mingw-w64 build. (#4519)
[mono-project.git] / mono / utils / mono-log-android.c
blobfde2fd0c6b897852b55571a3a8bfff0c7fa0c680
1 /*
2 * mono-log-android.c: Android-specific interface to the logger
4 * This module contains the Android logcat logger interface
6 * Author:
7 * Marek Habersack <grendel@twistedcode.net>
9 */
10 #include <config.h>
12 #if defined (PLATFORM_ANDROID)
14 #include <android/log.h>
15 #include "mono-logger-internals.h"
17 /**
18 * mono_log_open_logcat
20 * Open access to Android logcat (no-op)
22 * @path - Not used
23 * @userData - Not used
24 */
25 void
26 mono_log_open_logcat (const char *path, void *userData)
28 /* No-op on Android */
31 /**
32 * mono_log_write_logcat
34 * Write data to Android logcat.
36 * @domain - Identifier string
37 * @level - Logging level flags
38 * @format - Printf format string
39 * @vargs - Variable argument list
41 void
42 mono_log_write_logcat (const char *log_domain, GLogLevelFlags level, mono_bool hdr, const char *message)
44 android_LogPriority apriority;
46 switch (level & G_LOG_LEVEL_MASK)
48 case G_LOG_LEVEL_ERROR:
49 apriority = ANDROID_LOG_FATAL;
50 break;
52 case G_LOG_LEVEL_CRITICAL:
53 apriority = ANDROID_LOG_ERROR;
54 break;
56 case G_LOG_LEVEL_WARNING:
57 apriority = ANDROID_LOG_WARN;
58 break;
60 case G_LOG_LEVEL_MESSAGE:
61 apriority = ANDROID_LOG_INFO;
62 break;
64 case G_LOG_LEVEL_INFO:
65 apriority = ANDROID_LOG_DEBUG;
66 break;
68 case G_LOG_LEVEL_DEBUG:
69 apriority = ANDROID_LOG_VERBOSE;
70 break;
72 default:
73 apriority = ANDROID_LOG_UNKNOWN;
74 break;
77 __android_log_write (apriority, log_domain, message);
78 if (apriority == ANDROID_LOG_FATAL)
79 abort ();
82 /**
83 * mono_log_close_logcat
85 * Close access to Android logcat (no-op)
87 void
88 mono_log_close_logcat ()
90 /* No-op on Android */
92 #endif