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();
};
#define WLOG_CONSOLE_STDOUT 1
#define WLOG_CONSOLE_STDERR 2
#define WLOG_CONSOLE_DEBUG 3
#define WLOG_CONSOLE_DEFAULT 0
#define WLOG_CONSOLE_STDOUT 1
#define WLOG_CONSOLE_STDERR 2
#define WLOG_CONSOLE_DEBUG 4
struct _wLogConsoleAppender
{

View File

@ -47,14 +47,14 @@ void WLog_ConsoleAppender_SetOutputStream(wLog* log, wLogConsoleAppender* append
return;
if (outputStream < 0)
outputStream = WLOG_CONSOLE_STDOUT;
outputStream = WLOG_CONSOLE_DEFAULT;
if (outputStream == WLOG_CONSOLE_STDOUT)
appender->outputStream = WLOG_CONSOLE_STDOUT;
else if (outputStream == WLOG_CONSOLE_STDERR)
appender->outputStream = WLOG_CONSOLE_STDERR;
else
appender->outputStream = WLOG_CONSOLE_STDOUT;
appender->outputStream = WLOG_CONSOLE_DEFAULT;
}
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);
#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
return 1;
}
@ -211,11 +233,11 @@ wLogConsoleAppender* WLog_ConsoleAppender_New(wLog* log)
ConsoleAppender->WritePacketMessage =
(WLOG_APPENDER_WRITE_PACKET_MESSAGE_FN) WLog_ConsoleAppender_WritePacketMessage;
ConsoleAppender->outputStream = WLOG_CONSOLE_STDOUT;
ConsoleAppender->outputStream = WLOG_CONSOLE_DEFAULT;
#ifdef _WIN32
if (IsDebuggerPresent())
ConsoleAppender->outputStream = WLOG_CONSOLE_DEBUG;
if (IsDebuggerPresent())
ConsoleAppender->outputStream = WLOG_CONSOLE_DEBUG;
#endif
return ConsoleAppender;