<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>log4cxx &#8211; 编码无悔 /  Intent &amp; Focused</title>
	<atom:link href="https://www.codelast.com/tag/log4cxx/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.codelast.com</link>
	<description>最优化之路</description>
	<lastBuildDate>Sun, 03 May 2020 12:36:34 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>[原创] log4cxx在Linux下的安装、使用</title>
		<link>https://www.codelast.com/%e5%8e%9f%e5%88%9b-log4cxx%e5%9c%a8linux%e4%b8%8b%e7%9a%84%e5%ae%89%e8%a3%85%e3%80%81%e4%bd%bf%e7%94%a8/</link>
					<comments>https://www.codelast.com/%e5%8e%9f%e5%88%9b-log4cxx%e5%9c%a8linux%e4%b8%8b%e7%9a%84%e5%ae%89%e8%a3%85%e3%80%81%e4%bd%bf%e7%94%a8/#comments</comments>
		
		<dc:creator><![CDATA[learnhard]]></dc:creator>
		<pubDate>Tue, 09 Aug 2011 06:26:05 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[原创]]></category>
		<category><![CDATA[-lexpat]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[apr]]></category>
		<category><![CDATA[apr-util]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[http://logging.apache.org/log4cxx/]]></category>
		<category><![CDATA[log4c]]></category>
		<category><![CDATA[log4cxx]]></category>
		<category><![CDATA[log4j]]></category>
		<category><![CDATA[properties文件]]></category>
		<category><![CDATA[RedHat]]></category>
		<category><![CDATA[RHEL]]></category>
		<category><![CDATA[undefined reference]]></category>
		<category><![CDATA[使用]]></category>
		<category><![CDATA[安装]]></category>
		<category><![CDATA[格式]]></category>
		<category><![CDATA[编译]]></category>
		<category><![CDATA[配置文件]]></category>
		<category><![CDATA[问题]]></category>
		<guid isPermaLink="false">http://www.codelast.com/?p=3211</guid>

					<description><![CDATA[<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">简单地说，log4cxx就是一个记录日志的C++库（程序运行的时候要保存一些日志到文件，以供将来查看），它是从著名的Java日志库log4j移植而来的，并且它是Apache的一个项目，质量有保证，不用犹豫了，就用它吧！</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">补一句：Apache声称log4cxx的速度快、灵活性好，但是，速度快是第一位的，灵活性是第二位的（&#34;<span style="color:#800080;">Log4cxx claims to be fast and flexible: speed first, flexibility second.</span>&#34;），所以，担心日志记录性能的同学更可以选择log4cxx啦。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">但是，这玩意的安装、编译稍微有点麻烦，如果遇到了问题，没耐心的人可能就没兴趣折腾了，我在这里把自己遇到的问题记一下。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">系统环境：RHEL 5.3，64位</span></span></span></p>
<p>
	&#160;</p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span id="more-3211"></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">首先去log4cxx的官方网站下载源码安装包：<a href="http://logging.apache.org/log4cxx/" target="_blank" rel="noopener noreferrer">http://logging.apache.org/log4cxx/</a>，点击左边的&#8220;Download&#8221;进入下载页面，当前（2011年8月9日）的最新版本是0.10.0，你可以下载 .tar.gz 压缩包，解压出来即可。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">然后就可以直接configure，make，make install了吗？不行，因为log4cxx官方提供的源码安装包不是一个all-in-one的包，它还依赖于Apache的另外两个库：Apache Portable Runtime（APR）和Apache Portable Runtime Utility（APR-Util），你可以在这个链接找到它们：<a href="http://apr.apache.org/" target="_blank" rel="noopener noreferrer">http://apr.apache.org/</a>。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">（1）安装</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">安装顺序不能变。首先要安装APR，下载到源码安装包后，解压出来，然后：</span></span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
./configure --prefix=/usr/local/apr
make
make install
</pre>
<p><span style="font-size: 14px; ">这里把APR安装到了 /usr/local/apr 目录下，注意，千万不要直接./configure，因为那样会把APR的文件安装到若干目录下，非常不利于维护。</span>&#8230; <a href="https://www.codelast.com/%e5%8e%9f%e5%88%9b-log4cxx%e5%9c%a8linux%e4%b8%8b%e7%9a%84%e5%ae%89%e8%a3%85%e3%80%81%e4%bd%bf%e7%94%a8/" class="read-more">Read More </a></p>]]></description>
										<content:encoded><![CDATA[<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">简单地说，log4cxx就是一个记录日志的C++库（程序运行的时候要保存一些日志到文件，以供将来查看），它是从著名的Java日志库log4j移植而来的，并且它是Apache的一个项目，质量有保证，不用犹豫了，就用它吧！</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">补一句：Apache声称log4cxx的速度快、灵活性好，但是，速度快是第一位的，灵活性是第二位的（&quot;<span style="color:#800080;">Log4cxx claims to be fast and flexible: speed first, flexibility second.</span>&quot;），所以，担心日志记录性能的同学更可以选择log4cxx啦。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">但是，这玩意的安装、编译稍微有点麻烦，如果遇到了问题，没耐心的人可能就没兴趣折腾了，我在这里把自己遇到的问题记一下。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">系统环境：RHEL 5.3，64位</span></span></span></p>
<p>
	&nbsp;</p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span id="more-3211"></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">首先去log4cxx的官方网站下载源码安装包：<a href="http://logging.apache.org/log4cxx/" target="_blank" rel="noopener noreferrer">http://logging.apache.org/log4cxx/</a>，点击左边的&ldquo;Download&rdquo;进入下载页面，当前（2011年8月9日）的最新版本是0.10.0，你可以下载 .tar.gz 压缩包，解压出来即可。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">然后就可以直接configure，make，make install了吗？不行，因为log4cxx官方提供的源码安装包不是一个all-in-one的包，它还依赖于Apache的另外两个库：Apache Portable Runtime（APR）和Apache Portable Runtime Utility（APR-Util），你可以在这个链接找到它们：<a href="http://apr.apache.org/" target="_blank" rel="noopener noreferrer">http://apr.apache.org/</a>。</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">（1）安装</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">安装顺序不能变。首先要安装APR，下载到源码安装包后，解压出来，然后：</span></span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
./configure --prefix=/usr/local/apr
make
make install
</pre>
<p><span style="font-size: 14px; ">这里把APR安装到了 /usr/local/apr 目录下，注意，千万不要直接./configure，因为那样会把APR的文件安装到若干目录下，非常不利于维护。</span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">再安装APR-Util，和上面一样，解压出来源码安装包，然后：</span></span></span></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
</pre>
<p><span style="font-size: 14px; ">这里，通过&nbsp;--with-apr 参数指定了前一步安装的APR的目录，同时也将APR-Util的安装目录设置在了/usr/local/apr-util 目录下。</span></p>
<p style="display: inline !important; font-size: 14px;">
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><font class="Apple-style-span" color="#000000">最后，就是安装log4cxx了，但是在安装之前，还要再注意一点：configure的时候要指定APR和APR-Util的安装路径：</font></span></span></p>
<p></p>
<pre class="brush:shell;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
./configure --prefix=/usr/local/log4cxx --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
mv libtool libtool.bak
ln -s /usr/bin/libtool libtool
make 
make install
</pre>
<p><span style="font-size: 14px; ">注意，中间有两条匪夷所思的命令（mv 和 ln -s），如果不执行的话，会报错（我不太记得是在configure的时候还是make的时候报的错了）：</span></p>
<blockquote>
<p>
		<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/usr/lib/libexpat.so: could not read symbols: File in wrong format</font><br />
		</span></span></span></p>
</blockquote>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;"><font class="Apple-style-span">这些问题的解决办法是从网上搜来的，官方的指南做得不给力啊。</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;"><font class="Apple-style-span">这样就把log4cxx安装上了，然后你需要将log4cxx整合进你的程序中，我是把 log4cxx、APR、APR-Util 的三个静态库文件全部放置到我的工程目录下的某个子目录下，然后在Makefile中指定从这个目录下去寻找库文件。三个静态库名如下：liblog4cxx.a，libapr-1.a，libaprutil-1.a。</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;"><font class="Apple-style-span">此外，我还将 log4cxx、APR、APR-Util 的所有头文件（.h）放置到了工程目录下。并在自己的程序中include工程目录下的这些文件。</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;"><font class="Apple-style-span">然后就是在Makefile中添加上与log4cxx相关的一切东西，包括头文件路径，库文件路径等。如果你编译的时候看到与log4cxx相关的&ldquo;undefined reference ...&rdquo;的错误，那么肯定是没有找到相关的库文件或头文件，这里需要提醒你的是要添加的几个库文件参数：-llog4cxx，-lapr-1，-laprutil-1。</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;">你把上面的步骤都做好了，这个时候，你再编译你的程序，可能又会遇到以下错误（好吧，的确有点折磨人）：</span></span></span></p>
<p style="display: inline !important; font-size: 14px;">
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">./lib/log4cxx/libaprutil-1.a(apr_xml.o): In function `apr_xml_parser_geterror&#39;:</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:478: undefined reference to `XML_ErrorString&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">./lib/log4cxx/libaprutil-1.a(apr_xml.o): In function `do_parse&#39;:</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:418: undefined reference to `XML_Parse&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:422: undefined reference to `XML_GetErrorCode&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">./lib/log4cxx/libaprutil-1.a(apr_xml.o): In function `cleanup_parser&#39;:</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:344: undefined reference to `XML_ParserFree&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">./lib/log4cxx/libaprutil-1.a(apr_xml.o): In function `apr_xml_parser_create&#39;:</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:381: undefined reference to `XML_ParserCreate&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:390: undefined reference to `XML_SetUserData&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:391: undefined reference to `XML_SetElementHandler&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:392: undefined reference to `XML_SetCharacterDataHandler&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">/home/log4cxx/apr-util-1.3.12/xml/apr_xml.c:404: undefined reference to `XML_SetDefaultHandler&#39;</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">collect2: ld returned 1 exit status</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#00f;"><font class="Apple-style-span">make: *** [cpsAPI] Error 1</font><br />
	</span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;"><font class="Apple-style-span">这些乱七八糟的东西是怎么回事？据网上的一些文章说，这是 libaprutil 的一个bug，它不会自动链接到它的依赖项，从而导致了那些错误。要解决这个问题，你在编译的时候添加 <span style="color:#f00;">-lexpat</span> 参数即可&mdash;&mdash;无论你是在Makefile中，还是在命令行直接用g++命令编译程序，都必须要带上这个参数，否则就会得到上面的那一堆错误（真让人恼火啊）。</font></span></span></span></p>
<p>
	<span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;"><font class="Apple-style-span">这样，总算全部搞定了，程序可以编译通过了，下面，就是如何使用log4cxx来写日志的问题了，简单地说一下。在你需要写日志的类的文件中（例如MyClass.cpp），include两个log4cxx头文件：<span style="color:#00f;">log4cxx.h</span>和<span style="color:#00f;">propertyconfigurator.h</span>，然后在类的外部添加：</font></span></span></span></p>
<pre class="brush:cpp;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
static log4cxx::LoggerPtr logger(log4cxx::Logger::getLogger(&quot;MyClass.cpp&quot;));
</pre>
<p><span style="font-size: 14px; ">然后在需要写日志之前，先加载log4cxx的配置文件（其实也可以不使用配置文件的，这里假设你要使用自定义的配置文件）：</span></p>
<pre class="brush:cpp;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
log4cxx::PropertyConfigurator::configure(&quot;./log4cxx.properties&quot;);
</pre>
<p><span style="font-size: 14px; "><span style="font-size:14px;"><span style="font-family:微软雅黑;"><font class="Apple-style-span">这里指定了log4cxx.properties文件作为log4cxx的配置文件（文件名不一定是要叫log4cxx.properties），</font></span></span> </span></p>
<p style="display: inline !important; ">
	<span style="font-size: 14px; "><span style="font-size:14px;"><font class="Apple-style-span">在这个文件中定义了各种参数，例如日志文件会写到哪里去，日志的格式等等。具体的格式可以很复杂、功能很强大，这里无法给出一个详细的说明，后面会给出一个简单的文件示例。</font></span></span></p>
<p>
	<span style="font-size: 14px; "><span style="font-size:14px;"><span style="font-family:微软雅黑;"><span style="color:#000;"><font class="Apple-style-span">然后就可以写日志了，例如：</font></span></span></span></span></p>
<p></p>
<pre class="brush:cpp;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
LOG4CXX_INFO(logger, &quot;Test info message.&quot;);
LOG4CXX_ERROR(logger, &quot;Test error message.&quot;);
</pre>
<p><span style="font-size: 14px; color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" style="font-size: 14px; " target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a></p>
<p style="display: inline !important; ">
	<span style="font-size: 14px; "><span style="font-size:14px;"><span style="font-family:微软雅黑;"><font class="Apple-style-span">运行程序，看看日志是否写进去了？写进去的话就说明成功了。</font></span></span></span></p>
<p style="display: inline !important; ">
	<span style="font-size: 14px; "><span style="font-size:14px;"><span style="font-family:微软雅黑;"><font class="Apple-style-span">上面所说的log4cxx.properties文件，给一个例子如下：</font></span></span></span></p>
<p></p>
<pre class="brush:plain;first-line:1;pad-line-numbers:true;highlight:null;collapse:false;">
log4j.rootLogger=debug, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller&#39;s file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p (%F:%L) %c - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=./app.log
log4j.appender.R.MaxFileSize=200KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p (%F:%L) %c - %m%n
</pre>
<p><span style="font-size: 14px; ">更多log4cxx的详细用法，可以参考log4cxx的一些官方例子：</span><a href="http://logging.apache.org/log4cxx/index.html" style="font-size: 14px; " target="_blank" rel="noopener noreferrer">http://logging.apache.org/log4cxx/index.html</a><br />
<span style="font-size: 14px; color: rgb(255, 255, 255); ">文章来源：</span><a href="http://www.codelast.com/" style="font-size: 14px; " target="_blank" rel="noopener noreferrer"><span style="color: rgb(255, 255, 255); ">http://www.codelast.com/</span></a><br />
<span style="font-size: 14px; ">附：【使用log4cxx遇到的一些问题记录】<br />
（1）<span style="color:#0000ff;">IO Exception : status code =28</span><br />
这个错误可能是由于磁盘空间满了造成的，log4cxx无法将日志写入磁盘上，请看<a href="http://www.mail-archive.com/log4cxx-user@logging.apache.org/msg02811.html" target="_blank" rel="noopener noreferrer">这个链接</a>。</span></p>
<p><span style="color: rgb(255, 255, 255);">文章来源：</span><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><span style="color: rgb(255, 255, 255);">https://www.codelast.com/</span></a><br />
<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;版权声明&nbsp;<span style="color: rgb(255, 0, 0);">➤➤</span>&nbsp;<br />
转载需注明出处：<u><a href="https://www.codelast.com/" rel="noopener noreferrer" target="_blank"><em><span style="color: rgb(0, 0, 255);"><strong style="font-size: 16px;"><span style="font-family: arial, helvetica, sans-serif;">codelast.com</span></strong></span></em></a></u>&nbsp;<br />
感谢关注我的微信公众号（微信扫一扫）：</p>
<p style="border: 0px; font-size: 13px; margin: 0px 0px 9px; outline: 0px; padding: 0px; color: rgb(77, 77, 77);">
	<img decoding="async" alt="wechat qrcode of codelast" src="https://www.codelast.com/codelast_wechat_qr_code.jpg" style="width: 200px; height: 200px;" /></p>

			<!--[syntaxhighlighter]-->
			<!--代码高亮，请勿编辑-->
			<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shCore.js"></script><script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushShell.js"></script>
<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushCpp.js"></script>
<script type="text/javascript" src="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/scripts/shBrushPlain.js"></script>

			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shCoreCk.css" />
			<link type="text/css" rel="stylesheet" href="https://www.codelast.com/wp-content/plugins/ck-and-syntaxhighlighter/syntaxhighlighter/styles/shThemeCk.css" />
			<script type="text/javascript">
			SyntaxHighlighter.defaults['class-name']	= '';
			SyntaxHighlighter.defaults['smart-tabs']	= true;
			SyntaxHighlighter.defaults['tab-size']		= 2;
			SyntaxHighlighter.defaults['gutter']		= true;
			SyntaxHighlighter.defaults['quick-code']	= true;
			SyntaxHighlighter.defaults['collapse'] 		= false;
			SyntaxHighlighter.defaults['auto-links']	= true;
			SyntaxHighlighter.defaults['toolbar']		= true;
			SyntaxHighlighter.all();
			</script>
			<!--[/syntaxhighlighter]-->]]></content:encoded>
					
					<wfw:commentRss>https://www.codelast.com/%e5%8e%9f%e5%88%9b-log4cxx%e5%9c%a8linux%e4%b8%8b%e7%9a%84%e5%ae%89%e8%a3%85%e3%80%81%e4%bd%bf%e7%94%a8/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
