void g_logv (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, va_list args) { char *msg; vasprintf (&msg, format, args); #if PLATFORM_ANDROID __android_log_print (to_android_priority (log_level), /* TODO: provide a proper app name */ "mono", "%s%s%s", log_domain != NULL ? log_domain : "", log_domain != NULL ? ": " : "", msg); #else printf ("%s%s%s\n", log_domain != NULL ? log_domain : "", log_domain != NULL ? ": " : "", msg); #endif free (msg); if (log_level & fatal){ fflush (stdout); fflush (stderr); abort (); } }
void g_log_default_handler (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer unused_data) { __android_log_write (to_android_priority (log_level), log_domain, message); if (log_level & fatal) abort (); }
void g_logv (const gchar *log_domain, GLogLevelFlags log_level, const gchar *format, va_list args) { #if PLATFORM_ANDROID __android_log_vprint (to_android_priority (log_level), log_domain, format, args); #else char *msg; if (vasprintf (&msg, format, args) < 0) return; printf ("%s%s%s\n", log_domain != NULL ? log_domain : "", log_domain != NULL ? ": " : "", msg); free (msg); if (log_level & fatal){ fflush (stdout); fflush (stderr); } #endif if (log_level & fatal){ abort (); } }