You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ca...@apache.org on 2006/03/06 22:46:06 UTC

svn commit: r383683 - in /logging/log4cxx/trunk: examples/Makefile.am src/systemerrwriter.cpp src/systemoutwriter.cpp

Author: carnold
Date: Mon Mar  6 13:46:04 2006
New Revision: 383683

URL: http://svn.apache.org/viewcvs?rev=383683&view=rev
Log:
LOGCXX-126: ConsoleAppender now checks fwide and uses C STL IO

Modified:
    logging/log4cxx/trunk/examples/Makefile.am
    logging/log4cxx/trunk/src/systemerrwriter.cpp
    logging/log4cxx/trunk/src/systemoutwriter.cpp

Modified: logging/log4cxx/trunk/examples/Makefile.am
URL: http://svn.apache.org/viewcvs/logging/log4cxx/trunk/examples/Makefile.am?rev=383683&r1=383682&r2=383683&view=diff
==============================================================================
--- logging/log4cxx/trunk/examples/Makefile.am (original)
+++ logging/log4cxx/trunk/examples/Makefile.am Mon Mar  6 13:46:04 2006
@@ -1,4 +1,4 @@
-noinst_PROGRAMS = trivial delayedloop stream
+noinst_PROGRAMS = trivial delayedloop stream console
 
 INCLUDES = -I$(top_srcdir)/include -I$(top_builddir)/include
 
@@ -11,5 +11,7 @@
 stream_SOURCES = stream.cpp
 stream_LDADD = $(top_builddir)/src/liblog4cxx.la
 
+console_SOURCES = console.cpp
+console_LDADD = $(top_builddir)/src/liblog4cxx.la
 
 

Modified: logging/log4cxx/trunk/src/systemerrwriter.cpp
URL: http://svn.apache.org/viewcvs/logging/log4cxx/trunk/src/systemerrwriter.cpp?rev=383683&r1=383682&r2=383683&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/systemerrwriter.cpp (original)
+++ logging/log4cxx/trunk/src/systemerrwriter.cpp Mon Mar  6 13:46:04 2006
@@ -37,10 +37,14 @@
 
 void SystemErrWriter::write(const LogString& str, Pool& p) {
 #if LOG4CXX_HAS_WCHAR_T
-    LOG4CXX_ENCODE_WCHAR(msg, str);
-    std::wcerr << msg << std::flush;
+    if (fwide(stderr, 0) > 0) {
+    	LOG4CXX_ENCODE_WCHAR(msg, str);
+        fputws(msg.c_str(), stderr);
+    } else {
 #else
-    LOG4CXX_ENCODE_CHAR(msg, str);
-    std::cerr << msg << std::flush;
+    {
 #endif
+    	LOG4CXX_ENCODE_CHAR(msg, str);
+        fputs(msg.c_str(), stderr);
+    }
 }

Modified: logging/log4cxx/trunk/src/systemoutwriter.cpp
URL: http://svn.apache.org/viewcvs/logging/log4cxx/trunk/src/systemoutwriter.cpp?rev=383683&r1=383682&r2=383683&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/systemoutwriter.cpp (original)
+++ logging/log4cxx/trunk/src/systemoutwriter.cpp Mon Mar  6 13:46:04 2006
@@ -38,10 +38,14 @@
 
 void SystemOutWriter::write(const LogString& str, Pool& p) {
 #if LOG4CXX_HAS_WCHAR_T
-    LOG4CXX_ENCODE_WCHAR(msg, str);
-    std::wcout << msg << std::flush;
+    if (fwide(stdout, 0) > 0) {
+    	LOG4CXX_ENCODE_WCHAR(msg, str);
+        fputws(msg.c_str(), stdout);
+    } else {
 #else
-    LOG4CXX_ENCODE_CHAR(msg, str);
-    std::cout << msg << std::flush;
+    {
 #endif
+    	LOG4CXX_ENCODE_CHAR(msg, str);
+        fputs(msg.c_str(), stdout);
+    }
 }