Merge pull request #2596 from akallabeth/wlog_default_out_fix

Wlog console output to stderr
This commit is contained in:
Bernhard Miklautz 2015-05-08 00:49:41 +02:00
commit 81568ff03a
2 changed files with 33 additions and 10 deletions

View File

@ -146,9 +146,10 @@ struct _wLogAppender
WLOG_APPENDER_COMMON(); WLOG_APPENDER_COMMON();
}; };
#define WLOG_CONSOLE_STDOUT 1 #define WLOG_CONSOLE_DEFAULT 0
#define WLOG_CONSOLE_STDERR 2 #define WLOG_CONSOLE_STDOUT 1
#define WLOG_CONSOLE_DEBUG 3 #define WLOG_CONSOLE_STDERR 2
#define WLOG_CONSOLE_DEBUG 4
struct _wLogConsoleAppender struct _wLogConsoleAppender
{ {

View File

@ -47,14 +47,14 @@ void WLog_ConsoleAppender_SetOutputStream(wLog* log, wLogConsoleAppender* append
return; return;
if (outputStream < 0) if (outputStream < 0)
outputStream = WLOG_CONSOLE_STDOUT; outputStream = WLOG_CONSOLE_DEFAULT;
if (outputStream == WLOG_CONSOLE_STDOUT) if (outputStream == WLOG_CONSOLE_STDOUT)
appender->outputStream = WLOG_CONSOLE_STDOUT; appender->outputStream = WLOG_CONSOLE_STDOUT;
else if (outputStream == WLOG_CONSOLE_STDERR) else if (outputStream == WLOG_CONSOLE_STDERR)
appender->outputStream = WLOG_CONSOLE_STDERR; appender->outputStream = WLOG_CONSOLE_STDERR;
else else
appender->outputStream = WLOG_CONSOLE_STDOUT; appender->outputStream = WLOG_CONSOLE_DEFAULT;
} }
int WLog_ConsoleAppender_Open(wLog* log, wLogConsoleAppender* appender) int WLog_ConsoleAppender_Open(wLog* log, wLogConsoleAppender* appender)
@ -123,9 +123,31 @@ int WLog_ConsoleAppender_WriteMessage(wLog* log, wLogConsoleAppender* appender,
__android_log_print(level, log->Name, "%s%s", message->PrefixString, message->TextString); __android_log_print(level, log->Name, "%s%s", message->PrefixString, message->TextString);
#else #else
fp = (appender->outputStream == WLOG_CONSOLE_STDERR) ? stderr : stdout; switch(appender->outputStream)
{
case WLOG_CONSOLE_STDOUT:
fp = stdout;
break;
case WLOG_CONSOLE_STDERR:
fp = stderr;
break;
default:
switch(message->Level)
{
case WLOG_TRACE:
case WLOG_DEBUG:
case WLOG_INFO:
fp = stdout;
break;
default:
fp = stderr;
break;
}
break;
}
fprintf(fp, "%s%s\n", message->PrefixString, message->TextString); if (message->Level != WLOG_OFF)
fprintf(fp, "%s%s\n", message->PrefixString, message->TextString);
#endif #endif
return 1; return 1;
} }
@ -211,11 +233,11 @@ wLogConsoleAppender* WLog_ConsoleAppender_New(wLog* log)
ConsoleAppender->WritePacketMessage = ConsoleAppender->WritePacketMessage =
(WLOG_APPENDER_WRITE_PACKET_MESSAGE_FN) WLog_ConsoleAppender_WritePacketMessage; (WLOG_APPENDER_WRITE_PACKET_MESSAGE_FN) WLog_ConsoleAppender_WritePacketMessage;
ConsoleAppender->outputStream = WLOG_CONSOLE_STDOUT; ConsoleAppender->outputStream = WLOG_CONSOLE_DEFAULT;
#ifdef _WIN32 #ifdef _WIN32
if (IsDebuggerPresent()) if (IsDebuggerPresent())
ConsoleAppender->outputStream = WLOG_CONSOLE_DEBUG; ConsoleAppender->outputStream = WLOG_CONSOLE_DEBUG;
#endif #endif
return ConsoleAppender; return ConsoleAppender;