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 2008/01/20 02:15:05 UTC
svn commit: r613490 - in /logging/log4cxx/trunk/src/main: cpp/
include/log4cxx/helpers/ include/log4cxx/private/
Author: carnold
Date: Sat Jan 19 17:15:04 2008
New Revision: 613490
URL: http://svn.apache.org/viewvc?rev=613490&view=rev
Log:
LOGCXX-126: Add config to force byte output
Modified:
logging/log4cxx/trunk/src/main/cpp/systemerrwriter.cpp
logging/log4cxx/trunk/src/main/cpp/systemoutwriter.cpp
logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemerrwriter.h
logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemoutwriter.h
logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.h.in
logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.hw
Modified: logging/log4cxx/trunk/src/main/cpp/systemerrwriter.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/systemerrwriter.cpp?rev=613490&r1=613489&r2=613490&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/systemerrwriter.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/systemerrwriter.cpp Sat Jan 19 17:15:04 2008
@@ -46,23 +46,26 @@
write(str);
}
-
-void SystemErrWriter::write(const LogString& str) {
-#if LOG4CXX_WCHAR_T_API
+bool SystemErrWriter::isWide() {
#if LOG4CXX_FORCE_WIDE_CONSOLE
- if (true) {
+ return true;
+#elif LOG4CXX_FORCE_BYTE_CONSOLE
+ return false;
#else
- if (fwide(stderr, 0) > 0) {
+ return fwide(stderr, 0) > 0
#endif
+}
+
+void SystemErrWriter::write(const LogString& str) {
+#if LOG4CXX_WCHAR_T_API
+ if (isWide()) {
LOG4CXX_ENCODE_WCHAR(msg, str);
fputws(msg.c_str(), stderr);
- } else {
-#else
- {
-#endif
- LOG4CXX_ENCODE_CHAR(msg, str);
- fputs(msg.c_str(), stderr);
+ return;
}
+#endif
+ LOG4CXX_ENCODE_CHAR(msg, str);
+ fputs(msg.c_str(), stderr);
}
void SystemErrWriter::flush() {
Modified: logging/log4cxx/trunk/src/main/cpp/systemoutwriter.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/systemoutwriter.cpp?rev=613490&r1=613489&r2=613490&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/systemoutwriter.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/systemoutwriter.cpp Sat Jan 19 17:15:04 2008
@@ -47,22 +47,26 @@
write(str);
}
-void SystemOutWriter::write(const LogString& str) {
-#if LOG4CXX_WCHAR_T_API
+bool SystemOutWriter::isWide() {
#if LOG4CXX_FORCE_WIDE_CONSOLE
- if (true) {
+ return true;
+#elif LOG4CXX_FORCE_BYTE_CONSOLE
+ return false;
#else
- if (fwide(stdout, 0) > 0) {
+ return fwide(f, 0) > 0
#endif
+}
+
+void SystemOutWriter::write(const LogString& str) {
+#if LOG4CXX_WCHAR_T_API
+ if (isWide()) {
LOG4CXX_ENCODE_WCHAR(msg, str);
fputws(msg.c_str(), stdout);
- } else {
-#else
- {
-#endif
- LOG4CXX_ENCODE_CHAR(msg, str);
- fputs(msg.c_str(), stdout);
+ return;
}
+#endif
+ LOG4CXX_ENCODE_CHAR(msg, str);
+ fputs(msg.c_str(), stdout);
}
void SystemOutWriter::flush() {
Modified: logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemerrwriter.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemerrwriter.h?rev=613490&r1=613489&r2=613490&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemerrwriter.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemerrwriter.h Sat Jan 19 17:15:04 2008
@@ -49,6 +49,7 @@
private:
SystemErrWriter(const SystemErrWriter&);
SystemErrWriter& operator=(const SystemErrWriter&);
+ static bool isWide();
};
} // namespace helpers
Modified: logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemoutwriter.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemoutwriter.h?rev=613490&r1=613489&r2=613490&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemoutwriter.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/helpers/systemoutwriter.h Sat Jan 19 17:15:04 2008
@@ -39,15 +39,16 @@
SystemOutWriter();
~SystemOutWriter();
- SystemOutWriter(const SystemOutWriter&);
- SystemOutWriter& operator=(const SystemOutWriter&);
-
virtual void close(Pool& p);
virtual void flush(Pool& p);
virtual void write(const LogString& str, Pool& p);
static void write(const LogString& str);
static void flush();
+ private:
+ SystemOutWriter(const SystemOutWriter&);
+ SystemOutWriter& operator=(const SystemOutWriter&);
+ static bool isWide();
};
} // namespace helpers
Modified: logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.h.in
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.h.in?rev=613490&r1=613489&r2=613490&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.h.in (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.h.in Sat Jan 19 17:15:04 2008
@@ -30,15 +30,16 @@
#error "log4cxx/private/log4cxx_private.h should only be used within log4cxx implementation or tests"
#endif
+#define LOG4CXX_RETURN_AFTER_THROW 0
#define LOG4CXX_HAS_STD_LOCALE @HAS_STD_LOCALE@
+#define LOG4CXX_FORCE_WIDE_CONSOLE 0
+#define LOG4CXX_FORCE_BYTE_CONSOLE 0
+#define LOG4CXX_MEMSET_IOS_BASE 0
+#define LOG4CXX_HAVE_ODBC @HAS_ODBC@
#define LOG4CXX_HAS_MBSRTOWCS @HAS_MBSRTOWCS@
#define LOG4CXX_HAS_WCSTOMBS @HAS_WCSTOMBS@
-
-#define LOG4CXX_RETURN_AFTER_THROW 0
-
-
#define LOG4CXX_CHARSET_UTF8 @CHARSET_UTF8@
#define LOG4CXX_CHARSET_ISO88591 @CHARSET_ISO88591@
#define LOG4CXX_CHARSET_USASCII @CHARSET_USASCII@
@@ -46,7 +47,6 @@
#define LOG4CXX_HAVE_LIBESMTP @HAS_LIBESMTP@
#define LOG4CXX_HAVE_SYSLOG @HAS_SYSLOG@
-#define LOG4CXX_HAVE_ODBC @HAS_ODBC@
#define LOG4CXX_WIN32_THREAD_FMTSPEC "0x%.8x"
#define LOG4CXX_APR_THREAD_FMTSPEC "0x%pt"
Modified: logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.hw
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.hw?rev=613490&r1=613489&r2=613490&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.hw (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/private/log4cxx_private.hw Sat Jan 19 17:15:04 2008
@@ -34,7 +34,6 @@
#endif
-
#if !defined(__BORLANDC__)
#define LOG4CXX_RETURN_AFTER_THROW 1
#else
@@ -47,23 +46,9 @@
#define LOG4CXX_HAS_STD_LOCALE 1
#endif
-#if defined(__GNUC__)
-#define LOG4CXX_HAS_STD_WLOCALE 0
-#else
-#define LOG4CXX_HAS_STD_WLOCALE 1
-#endif
+#define LOG4CXX_FORCE_WIDE_CONSOLE 1
+#define LOG4CXX_FORCE_BYTE_CONSOLE 0
-#define LOG4CXX_HAS_STD_WLOCALE 1
-
-#if defined(LOG4CXX_STATIC)
-#define LOG4CXX_EXPORT
-#else
-#ifdef LOG4CXX
- #define LOG4CXX_EXPORT __declspec(dllexport)
-#else
- #define LOG4CXX_EXPORT __declspec(dllimport)
-#endif
-#endif
#if defined(_MSC_VER)
#define LOG4CXX_MEMSET_IOS_BASE 1
@@ -78,6 +63,12 @@
#endif
#define LOG4CXX_HAS_WCSTOMBS 1
+
+#define LOG4CXX_CHARSET_UTF8 0
+#define LOG4CXX_CHARSET_ISO88591 0
+#define LOG4CXX_CHARSET_USASCII 0
+#define LOG4CXX_CHARSET_EBCDIC 0
+
#define LOG4CXX_HAVE_LIBESMTP 0
#define LOG4CXX_HAVE_SYSLOG 0