// Log informational messages to system specific places // void log_message_startup(const char* msg) { char evt_msg[2048]; char* time_string = time_to_string(dtime()); snprintf(evt_msg, sizeof(evt_msg), "%s %s\n", time_string, msg ); if (!gstate.executing_as_daemon) { fprintf(stdout, "%s", evt_msg); #ifdef _WIN32 // MSVCRT doesn't support line buffered streams fflush(stdout); #endif } else { #ifdef _WIN32 LogEventInfoMessage(evt_msg); #elif defined(__EMX__) #elif defined (__APPLE__) #elif defined (ANDROID) __android_log_print(ANDROID_LOG_INFO, "BOINC", evt_msg); #else syslog(LOG_DAEMON|LOG_INFO, "%s", evt_msg); #endif } }
// Log informational messages to system specific places // void log_message_startup(const char* msg) { char evt_msg[2048]; snprintf(evt_msg, sizeof(evt_msg), "%s\n", msg ); if (!gstate.executing_as_daemon) { fprintf(stdout, evt_msg); } else { #ifdef _WIN32 LogEventInfoMessage(evt_msg); #elif defined(__EMX__) #elif defined (__APPLE__) #else syslog(LOG_DAEMON|LOG_INFO, evt_msg); #endif } }
// Log informational messages to system specific places // void log_message_startup(const char* msg) { #ifdef ANDROID LOGD("log_message_startup"); #endif char evt_msg[2048]; snprintf(evt_msg, sizeof(evt_msg), "%s\n", msg ); if (!gstate.executing_as_daemon) { fprintf(stdout, evt_msg); } else { #ifdef _WIN32 LogEventInfoMessage(evt_msg); #elif defined(__EMX__) #elif defined (__APPLE__) #elif defined(ANDROID) __android_log_print(ANDROID_LOG_DEBUG, "main::log_message_startup", evt_msg); #else syslog(LOG_DAEMON|LOG_INFO, evt_msg); #endif } }