blob: b14820e00c32bf3d73864eedc33f5fd6b688b96d [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
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.
-->
<!-- Generated by Apache Maven Doxia at 2019-01-16 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>log4cxx - Frequently Asked Technical Questions - Apache log4cxx</title>
<link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="./css/site.css" type="text/css" />
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/prettify.min.js"></script>
<script type="text/javascript" src="./js/site.js"></script>
<meta name="Date-Revision-yyyymmdd" content="20190116" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<a href="https://logging.apache.org/">
<img class="logo-left" src="./images/logos/ls-logo.jpg" alt="Apache logging services logo" />
</a>
<img class="logo-right" src="./images/logos/logo.png" alt="Apache log4j logo" />
<div class="clear"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="http://logging.apache.org/log4cxx">Apache log4cxx &#8482;</a>
<ul class="nav">
<li>
<a href="https://wiki.apache.org/logging" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
</li>
<li>
<a href="https://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
</li>
<li>
<a href="https://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
</li>
<li>
<a href="https://github.com/apache/logging-log4cxx" class="external" target="_blank" title="GitHub">GitHub</a>
</li>
</ul>
<div class="pull-right">
<span id="publishDate">Last Published: 2019-01-16</span>
<span class="divider">|</span> <span id="projectVersion">Version: 0.10.0</span>
</div>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-home"></i>About</li>
<li class="none">
<a href="index.html" title="What is log4cxx?">What is log4cxx?</a>
</li>
<li class="none">
<a href="project-info.html" title="Project Information">Project Information</a>
</li>
<li class="none">
<a href="project-reports.html" title="Generated Reports">Generated Reports</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-book"></i>Usage</li>
<li class="none">
<a href="usage.html" title="How to use log4cxx?">How to use log4cxx?</a>
</li>
<li class="none">
<a href="apidocs/index.html" title="API Documentation">API Documentation</a>
</li>
<li class="none active">
<a href="faq.html" title="FAQ">FAQ</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Get</li>
<li class="none">
<a href="download.html" title="Download">Download</a>
</li>
<li class="none">
<a href="changes-report.html" title="Changes">Changes</a>
</li>
<li class="none">
<a href="license.html" title="License">License</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-pencil"></i>Community</li>
<li class="none">
<a href="mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li class="none">
<a href="issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li class="none">
<a href="http://wiki.apache.org/logging-log4cxx" class="external" target="_blank" title="Wiki">Wiki</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-pencil"></i>Development</li>
<li class="none">
<a href="source-repository.html" title="Repository">Repository</a>
</li>
<li class="none">
<a href="dependencies.html" title="Dependencies">Dependencies</a>
</li>
<li class="expanded">
<a href="building/index.html" title="Building">Building</a>
<ul>
<li class="none">
<a href="building/autotools.html" title="autotools">autotools</a>
</li>
<li class="none">
<a href="building/ant.html" title="Apache Ant">Apache Ant</a>
</li>
<li class="none">
<a href="building/maven.html" title="Apache Maven 2">Apache Maven 2</a>
</li>
<li class="none">
<a href="building/vstudio.html" title="Microsoft Visual Studio">Microsoft Visual Studio</a>
</li>
<li class="none">
<a href="building/xcode.html" title="Apple Xcode">Apple Xcode</a>
</li>
</ul>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-info-sign"></i>Apache</li>
<li class="none">
<a href="http://www.apache.org" class="external" target="_blank" title="Home">Home</a>
</li>
<li class="none">
<a href="http://www.apache.org/foundation/sponsorship.html" class="external" target="_blank" title="Sponsorship">Sponsorship</a>
</li>
<li class="none">
<a href="http://www.apache.org/foundation/thanks.html" class="external" target="_blank" title="Thanks">Thanks</a>
</li>
<li class="none">
<a href="http://www.apachecon.com" class="external" target="_blank" title="Conferences">Conferences</a>
</li>
</ul>
</div>
<div id="poweredBy">
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
</a>
</div>
</td>
<td class="content">
<!-- 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. --><div class="section">
<h2><a name="top">Frequently Asked Technical Questions</a><a name="Frequently_Asked_Technical_Questions"></a></h2>
<ol style="list-style-type: decimal">
<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></ol></div>
<dl>
<dt><a name="custom_levels">How do I add a custom level to Apache log4cxx?</a></dt>
<dd>
<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 &quot;AUDIT.com.example.MyPackage.MyClass&quot;
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>
<p align="right"><a href="#top">[top]</a></p><hr /></dd>
<dt><a name="msvc_crash">My application on Windows crashes on shutdown?</a></dt>
<dd>
<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 &quot;Multithread DLL&quot; with release
builds of log4cxx and &quot;Multithread DLL Debug&quot; with debug builds.
</p>
<p align="right"><a href="#top">[top]</a></p><hr /></dd>
<dt><a name="unicode">Does Apache log4cxx support Unicode?</a></dt>
<dd>
<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, &quot;&quot;)
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 &quot;UTF-8&quot; or &quot;UTF-16&quot;
for XML files.
</p>
<p align="right"><a href="#top">[top]</a></p></dd></dl>
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright © 2003-2019 <a class="external" href="http://www.apache.org">Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
<p>Site powered by <a class="external" href="http://getbootstrap.com/">Twitter Bootstrap</a>. Icons from <a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</body>
</html>