You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ts...@apache.org on 2020/08/06 08:36:19 UTC

[logging-log4cxx] branch master updated (96ef654 -> c65490f)

This is an automated email from the ASF dual-hosted git repository.

tschoening pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git.


    from 96ef654  Let's prefer alphabetical order.
     new 8064d6a  Added documentation on non-english logging
     new 54e8656  Merge commit 'refs/pull/31/head' of https://github.com/apache/logging-log4cxx into master
     new ea72b50  Changed the FAQ to be a PoC of using Markdown with Doxygen. Makes more sense to make the content of PR #31 available as FAQ.
     new 7a5bfed  Made non-English a sub-heading of Unicode.
     new c65490f  Improved the FAQ regarding support of Unicode with additional details from GHPR #31.

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/changes/changes.xml  |  3 +-
 src/site/fml/faq.fml     | 70 ---------------------------------------
 src/site/markdown/faq.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 88 insertions(+), 71 deletions(-)
 delete mode 100644 src/site/fml/faq.fml
 create mode 100644 src/site/markdown/faq.md


[logging-log4cxx] 04/05: Made non-English a sub-heading of Unicode.

Posted by ts...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tschoening pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit 7a5bfed5d5699d899a224b9db94221cd33be8d83
Author: Thorsten Schöning <ts...@am-soft.de>
AuthorDate: Tue Aug 4 18:36:10 2020 +0200

    Made non-English a sub-heading of Unicode.
---
 src/site/markdown/faq.md | 28 ++++++++++------------------
 1 file changed, 10 insertions(+), 18 deletions(-)

diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index e018eea..fadfc9b 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -21,8 +21,7 @@
 <ol>
 	<li><a href="#custom_levels">How do I add a custom level to Apache log4cxx?</a></li>
 	<li><a href="#msvc_crash">My application on Windows crashes on shutdown?</a></li>
-	<li><a href="#unicode">Does Apache log4cxx support Unicode?</a></li>
-	<li><a href="#non_english">Non-English logging</a></li>
+	<li><a href="#unicode_supported">Does Apache log4cxx support Unicode?</a></li>
 </ol>
 
 ## <a name="custom_levels"></a>How do I add a custom level to Apache log4cxx?
@@ -45,41 +44,34 @@ memory that was originally allocated by log4cxx would be freed by the caller. If
 caller are using different C RTL's, the program will likely crash at the point. Use "Multithread
 DLL" with release builds of log4cxx and "Multithread DLL Debug" with debug builds.
 
-## <a name="unicode"></a>Does Apache log4cxx support Unicode?
+## <a name="unicode_supported"></a>Does Apache log4cxx support Unicode?
+### Multiple string flavors
 
 Yes. Apache log4cxx exposes API methods in multiple string flavors `const char*`, `std::string`,
 `wchar_t*`, `std::wstring`, `CFStringRef` et al. `const char*` and `std::string` are interpreted
 according to the current locale settings. Applications should call `setlocale(LC_ALL, "")` on
-startup or the C RTL will assume US-ASCII. Before being processed internally, all these are
+startup or the C RTL will assume `US-ASCII`. Before being processed internally, all these are
 converted to the `LogString` type which is one of several supported Unicode representations selected
-by the `--with-logchar` option. When using methods that take `LogString` as arguments, the macor
+by the `--with-logchar` option. When using methods that take `LogString` as arguments, the macro
 `LOG4CXX_STR()` can be used to convert ASCII literals to the current `LogString` type. FileAppenders
 support an encoding property which should be explicitly specified to `UTF-8` or `UTF-16` for XML
 files.
 
-## <a name="non_english"></a>Non-English logging
-
-When logging messages in languages other than English, you may need to
-set your locale correctly for messages to be displayed.
+### Example of wrong non-English logging
 
 For example, here is some Hebrew text which says "People with disabilities":
 
 	נשים עם מוגבלות
 
-If you are to log this information on a system with a locale of `en_US.UTF-8`,
-the log message will look something like the following:
+If you are to log this information on a system with a locale of `en_US.UTF-8`, the log message might
+look something like the following, because the given characters can't be converted to `US-ASCII`:
 
 ```
 loggername - ?????????? ???? ??????????????
 ```
 
-One way to fix this is to call `setlocale` as follows before the function that logs:
-
-```
-std::setlocale( LC_ALL, "" );
-```
-
-This will then allow the message to be logged appropriately. See issue [LOG4CXX-483][1] for more
+Executing `std::setlocale(LC_ALL, "")` either before actually logging the text above or at the app-
+startup will allow the message to be logged appropriately. See issue [LOG4CXX-483][1] for more
 information.
 
 [1]:https://issues.apache.org/jira/browse/LOGCXX-483


[logging-log4cxx] 02/05: Merge commit 'refs/pull/31/head' of https://github.com/apache/logging-log4cxx into master

Posted by ts...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tschoening pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit 54e8656a0f0c6e88e77aff3f6c665a5cf90c09a4
Merge: 96ef654 8064d6a
Author: Thorsten Schöning <ts...@am-soft.de>
AuthorDate: Tue Aug 4 14:51:18 2020 +0200

    Merge commit 'refs/pull/31/head' of https://github.com/apache/logging-log4cxx into master

 src/site/markdown/non-english-logging.md | 44 ++++++++++++++++++++++++++++++++
 src/site/site.xml                        |  3 +++
 2 files changed, 47 insertions(+)



[logging-log4cxx] 01/05: Added documentation on non-english logging

Posted by ts...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tschoening pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit 8064d6afab985fb51ef403c2de79be3bb4b81ec7
Author: Robert Middleton <ro...@rm5248.com>
AuthorDate: Mon Aug 3 21:13:48 2020 -0400

    Added documentation on non-english logging
---
 src/site/markdown/non-english-logging.md | 44 ++++++++++++++++++++++++++++++++
 src/site/site.xml                        |  3 +++
 2 files changed, 47 insertions(+)

diff --git a/src/site/markdown/non-english-logging.md b/src/site/markdown/non-english-logging.md
new file mode 100644
index 0000000..d94166a
--- /dev/null
+++ b/src/site/markdown/non-english-logging.md
@@ -0,0 +1,44 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+# Non-English logging
+
+When logging messages in languages other than English, you may need to
+set your locale correctly for messages to be displayed.
+
+For example, here is some Hebrew text which says "People with disabilities":
+
+אנשים עם מוגבלות
+
+If you are to log this information on a system with a locale of `en_US.UTF-8`,
+the log message will look something like the following:
+
+```
+loggername - ?????????? ???? ??????????????
+```
+
+One way to fix this is to call `setlocale` as follows before the function that logs:
+
+```
+std::setlocale( LC_ALL, "" );
+```
+
+This will then allow the message to be logged appropriately.
+
+See issue [LOG4CXX-483][1] for more information.
+
+[1]:https://issues.apache.org/jira/browse/LOGCXX-483
diff --git a/src/site/site.xml b/src/site/site.xml
index 6941262..721a7a4 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -70,6 +70,9 @@
 			<item	name="FAQ"
 					href="/faq.html"
 			/>
+			<item	name="Non-English Logging"
+					href="/non-english-logging.html"
+			/>
 		</menu>
 
 		<menu	name="Get"


[logging-log4cxx] 03/05: Changed the FAQ to be a PoC of using Markdown with Doxygen. Makes more sense to make the content of PR #31 available as FAQ.

Posted by ts...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tschoening pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit ea72b50142abfe82fda527ac9dd5ede11e867cab
Author: Thorsten Schöning <ts...@am-soft.de>
AuthorDate: Tue Aug 4 15:43:09 2020 +0200

    Changed the FAQ to be a PoC of using Markdown with Doxygen. Makes more sense to make the content of PR #31 available as FAQ.
---
 src/site/fml/faq.fml                     | 70 --------------------------
 src/site/markdown/faq.md                 | 85 ++++++++++++++++++++++++++++++++
 src/site/markdown/non-english-logging.md | 44 -----------------
 src/site/site.xml                        |  3 --
 4 files changed, 85 insertions(+), 117 deletions(-)

diff --git a/src/site/fml/faq.fml b/src/site/fml/faq.fml
deleted file mode 100644
index dcc3521..0000000
--- a/src/site/fml/faq.fml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<faqs title="Frequently Asked Technical Questions">
-  <part id="faq">
-
-      <faq id="custom_levels"><question>How do I add a custom level to Apache log4cxx?</question>
-      <answer>
-      <p>This is a common topic for all the Apache logging frameworks and
-      typically motivated to try to categorize events by functionality or
-      audience.  An common request is to add an AUDIT level so that the
-      user can configure AUDIT level messages to go to a specific appender.
-      However, the logger name was designed explicitly to support
-      routing of messages by topic or audience.  The common
-      pattern of using classnames for logger names obscures the more
-      general capability of logger name to represent the topic or audience 
-      of the logging request.  The easiest approach to solve the underlying issue
-      is to use a logger names like "AUDIT.com.example.MyPackage.MyClass"
-      that allow all AUDIT messages to be routed to a particular appender.
-      If you attempted to use a level for that then you would lose
-      the ability to distinguish between different significances within
-      the audit messages.
-      </p></answer></faq>
-
-
-      <faq id="msvc_crash"><question>My application on Windows crashes on shutdown?</question>
-      <answer>
-      <p>Apache log4cxx API calls use C++ Standard Template Library string
-      parameters.  If the caller is using a different instance or type of the
-      C Runtime Library that log4cxx, then it is very likely that some memory
-      that was originally allocated by log4cxx would be freed by the caller.
-      If log4cxx and the caller are using different C RTL's, the program 
-      will likely crash at the point.  Use "Multithread DLL" with release
-      builds of log4cxx and "Multithread DLL Debug" with debug builds.
-      </p></answer></faq>
-
-      <faq id="unicode"><question>Does Apache log4cxx support Unicode?</question>
-      <answer>
-      <p>Yes.  Apache log4cxx exposes API methods in multiple string flavors
-      const char*, std::string, wchar_t*, std::wstring, CFStringRef et al.
-      const char* and std::string are interpreted according to the 
-      current locale settings.  Applications should call setlocale(LC_ALL, "")
-      on startup or the C RTL will assume US-ASCII.
-      Before being processed internally, all these are converted to the
-      LogString type which is one of several supported Unicode representations
-      selected by the --with-logchar option.  When using methods that take LogString arguments,
-      the LOG4CXX_STR() macro can be used to convert ASCII literals to 
-      the current LogString type.  FileAppenders support an encoding 
-      property which should be explicitly specified to "UTF-8" or "UTF-16"
-      for XML files.
-      </p></answer></faq>
-
-
-  </part>
-</faqs>
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
new file mode 100644
index 0000000..e018eea
--- /dev/null
+++ b/src/site/markdown/faq.md
@@ -0,0 +1,85 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+# Frequently Asked Technical Questions
+## <a name="table_of_contents"></a>Table of contents
+
+<ol>
+	<li><a href="#custom_levels">How do I add a custom level to Apache log4cxx?</a></li>
+	<li><a href="#msvc_crash">My application on Windows crashes on shutdown?</a></li>
+	<li><a href="#unicode">Does Apache log4cxx support Unicode?</a></li>
+	<li><a href="#non_english">Non-English logging</a></li>
+</ol>
+
+## <a name="custom_levels"></a>How do I add a custom level to Apache log4cxx?
+
+This is a common topic for all the Apache logging frameworks and typically motivated to try to
+categorize events by functionality or audience.  An common request is to add an AUDIT level so that
+the user can configure AUDIT level messages to go to a specific appender. However, the logger name
+was designed explicitly to support routing of messages by topic or audience. The common pattern of
+using classnames for logger names obscures the more general capability of logger name to represent
+the topic or audience of the logging request. The easiest approach to solve the underlying issue is
+to use a logger names like "AUDIT.com.example.MyPackage.MyClass" that allow all AUDIT messages to be
+routed to a particular appender. If you attempted to use a level for that then you would lose the
+ability to distinguish between different significances within the audit messages.
+
+## <a name="msvc_crash"></a>My application on Windows crashes on shutdown?
+
+Apache log4cxx API calls use C++ Standard Template Library string parameters. If the caller is using
+a different instance or type of the C Runtime Library that log4cxx, then it is very likely that some
+memory that was originally allocated by log4cxx would be freed by the caller. If log4cxx and the
+caller are using different C RTL's, the program will likely crash at the point. Use "Multithread
+DLL" with release builds of log4cxx and "Multithread DLL Debug" with debug builds.
+
+## <a name="unicode"></a>Does Apache log4cxx support Unicode?
+
+Yes. Apache log4cxx exposes API methods in multiple string flavors `const char*`, `std::string`,
+`wchar_t*`, `std::wstring`, `CFStringRef` et al. `const char*` and `std::string` are interpreted
+according to the current locale settings. Applications should call `setlocale(LC_ALL, "")` on
+startup or the C RTL will assume US-ASCII. Before being processed internally, all these are
+converted to the `LogString` type which is one of several supported Unicode representations selected
+by the `--with-logchar` option. When using methods that take `LogString` as arguments, the macor
+`LOG4CXX_STR()` can be used to convert ASCII literals to the current `LogString` type. FileAppenders
+support an encoding property which should be explicitly specified to `UTF-8` or `UTF-16` for XML
+files.
+
+## <a name="non_english"></a>Non-English logging
+
+When logging messages in languages other than English, you may need to
+set your locale correctly for messages to be displayed.
+
+For example, here is some Hebrew text which says "People with disabilities":
+
+	נשים עם מוגבלות
+
+If you are to log this information on a system with a locale of `en_US.UTF-8`,
+the log message will look something like the following:
+
+```
+loggername - ?????????? ???? ??????????????
+```
+
+One way to fix this is to call `setlocale` as follows before the function that logs:
+
+```
+std::setlocale( LC_ALL, "" );
+```
+
+This will then allow the message to be logged appropriately. See issue [LOG4CXX-483][1] for more
+information.
+
+[1]:https://issues.apache.org/jira/browse/LOGCXX-483
diff --git a/src/site/markdown/non-english-logging.md b/src/site/markdown/non-english-logging.md
deleted file mode 100644
index d94166a..0000000
--- a/src/site/markdown/non-english-logging.md
+++ /dev/null
@@ -1,44 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-# Non-English logging
-
-When logging messages in languages other than English, you may need to
-set your locale correctly for messages to be displayed.
-
-For example, here is some Hebrew text which says "People with disabilities":
-
-אנשים עם מוגבלות
-
-If you are to log this information on a system with a locale of `en_US.UTF-8`,
-the log message will look something like the following:
-
-```
-loggername - ?????????? ???? ??????????????
-```
-
-One way to fix this is to call `setlocale` as follows before the function that logs:
-
-```
-std::setlocale( LC_ALL, "" );
-```
-
-This will then allow the message to be logged appropriately.
-
-See issue [LOG4CXX-483][1] for more information.
-
-[1]:https://issues.apache.org/jira/browse/LOGCXX-483
diff --git a/src/site/site.xml b/src/site/site.xml
index 2fd8154..c19d505 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -70,9 +70,6 @@
 			<item	name="FAQ"
 					href="/faq.html"
 			/>
-			<item	name="Non-English Logging"
-					href="/non-english-logging.html"
-			/>
 		</menu>
 
 		<menu	name="Get"


[logging-log4cxx] 05/05: Improved the FAQ regarding support of Unicode with additional details from GHPR #31.

Posted by ts...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tschoening pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit c65490f37e0f9ae830534770823b620988ea368b
Author: Thorsten Schöning <ts...@am-soft.de>
AuthorDate: Thu Aug 6 10:36:09 2020 +0200

    Improved the FAQ regarding support of Unicode with additional details from GHPR #31.
---
 src/changes/changes.xml  |  3 ++-
 src/site/markdown/faq.md | 49 ++++++++++++++++++++++++++++--------------------
 2 files changed, 31 insertions(+), 21 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 4e7166d..9334c50 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,7 +24,7 @@
 
 	<body>
 		<release	version="0.11.0"
-					date="2020-02-09"
+					date="XXXX-XX-XX"
 					description="Maintenance release.">
 			<action issue="LOGCXX-506" type="fix">CachedDateFormat reuses timestamps without updating milliseconds after formatting timestamp with ms == 654</action>
 			<action issue="LOGCXX-503" type="update">Checksums/Signatures don't match for log4cxx binaries</action>
@@ -34,6 +34,7 @@
 			<action issue="LOGCXX-493" type="fix">Wrong usage of milli- vs. micro- and non- vs. milliseconds in some docs.</action>
 			<action issue="LOGCXX-488" type="fix">Space after log level hides messages</action>
 			<action issue="LOGCXX-484" type="fix">Spelling error s/excute/execute</action>
+			<action issue="LOGCXX-483" type="update">Not able to see hebrew values when logging in log4cxx</action>
 			<action issue="LOGCXX-482" type="fix">Build failure with GCC-6</action>
 			<action issue="LOGCXX-464" type="fix">TimeBasedRollingPolicy should append as configured on rollover</action>
 			<action issue="LOGCXX-446" type="fix">make install fails, trying to overwrite header files</action>
diff --git a/src/site/markdown/faq.md b/src/site/markdown/faq.md
index fadfc9b..190ff4d 100644
--- a/src/site/markdown/faq.md
+++ b/src/site/markdown/faq.md
@@ -45,33 +45,42 @@ caller are using different C RTL's, the program will likely crash at the point.
 DLL" with release builds of log4cxx and "Multithread DLL Debug" with debug builds.
 
 ## <a name="unicode_supported"></a>Does Apache log4cxx support Unicode?
-### Multiple string flavors
 
-Yes. Apache log4cxx exposes API methods in multiple string flavors `const char*`, `std::string`,
-`wchar_t*`, `std::wstring`, `CFStringRef` et al. `const char*` and `std::string` are interpreted
-according to the current locale settings. Applications should call `setlocale(LC_ALL, "")` on
-startup or the C RTL will assume `US-ASCII`. Before being processed internally, all these are
-converted to the `LogString` type which is one of several supported Unicode representations selected
-by the `--with-logchar` option. When using methods that take `LogString` as arguments, the macro
-`LOG4CXX_STR()` can be used to convert ASCII literals to the current `LogString` type. FileAppenders
-support an encoding property which should be explicitly specified to `UTF-8` or `UTF-16` for XML
-files.
-
-### Example of wrong non-English logging
-
-For example, here is some Hebrew text which says "People with disabilities":
+Yes. Apache log4cxx exposes API methods in multiple string flavors supporting differently encoded
+textual content, like `char*`, `std::string`, `wchar_t*`, `std::wstring`, `CFStringRef` et al. All
+provided texts will be converted to the `LogString` type before further processing, which is one of
+several supported Unicode representations selected by the `--with-logchar` option. If methods are
+used that take `LogString` as arguments, the macro `LOG4CXX_STR()` can be used to convert literals
+to the current `LogString` type. FileAppenders support an encoding property as well, which should be
+explicitly specified to `UTF-8` or `UTF-16` for e.g. XML files. The important point is to get the
+chain of input, internal processing and output correct and that might need some additional setup in
+the app using log4cxx:
+
+According to the [libc documentation](https://www.gnu.org/software/libc/manual/html_node/Setting-the-Locale.html),
+all programs start in the `C` locale by default, which is the [same as ANSI_X3.4-1968](https://stackoverflow.com/questions/48743106/whats-ansi-x3-4-1968-encoding)
+and what's commonly known as the encoding `US-ASCII`. That encoding supports a very limited set of
+characters only, so inputting Unicode with that encoding in effect to output characters can't work
+properly. For example, here is some Hebrew text which says "People with disabilities":
 
 	נשים עם מוגבלות
 
-If you are to log this information on a system with a locale of `en_US.UTF-8`, the log message might
-look something like the following, because the given characters can't be converted to `US-ASCII`:
+If you are to log this information, output on some console might be like the following, simply
+because the app uses `US-ASCII` by default and that can't map those characters:
 
 ```
 loggername - ?????????? ???? ??????????????
 ```
 
-Executing `std::setlocale(LC_ALL, "")` either before actually logging the text above or at the app-
-startup will allow the message to be logged appropriately. See issue [LOG4CXX-483][1] for more
-information.
+The important thing to understand is that this is some always applied, backwards compatible default
+behaviour and even the case when the current environment sets a locale like `en_US.UTF-8`. One might
+need to explicitly tell the app at startup to use the locale of the environment and make things
+compatible with Unicode this way. See also [some SO post](https://stackoverflow.com/questions/571359/how-do-i-set-the-proper-initial-locale-for-a-c-program-on-windows)
+on setting the default locale in C++.
+
+```
+std::setlocale( LC_ALL, "" ); /* Set locale for C functions */
+std::locale::global(std::locale("")); /* set locale for C++ functions */
+```
 
-[1]:https://issues.apache.org/jira/browse/LOGCXX-483
+See [LOGCXX-483](https://issues.apache.org/jira/browse/LOGCXX-483) or [GHPR #31](https://github.com/apache/logging-log4cxx/pull/31#issuecomment-668870727)
+for additional details.