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);
+ }
}