﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-八叶草(徐怀移)-随笔分类-log</title><link>http://www.cppblog.com/byc/category/15481.html</link><description>学习资料记录</description><language>zh-cn</language><lastBuildDate>Sat, 04 Aug 2012 09:16:29 GMT</lastBuildDate><pubDate>Sat, 04 Aug 2012 09:16:29 GMT</pubDate><ttl>60</ttl><item><title>log4cplus-1.1.0-rc6  链接问题</title><link>http://www.cppblog.com/byc/archive/2012/08/03/186139.html</link><dc:creator>八叶草</dc:creator><author>八叶草</author><pubDate>Fri, 03 Aug 2012 04:04:00 GMT</pubDate><guid>http://www.cppblog.com/byc/archive/2012/08/03/186139.html</guid><wfw:comment>http://www.cppblog.com/byc/comments/186139.html</wfw:comment><comments>http://www.cppblog.com/byc/archive/2012/08/03/186139.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/byc/comments/commentRss/186139.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/byc/services/trackbacks/186139.html</trackback:ping><description><![CDATA[&nbsp;链接了lib&nbsp; #pragma comment (lib,"log4cplusD.lib") <br />字符集设置了 使用多字节字符集<br />还会出现这个编译错误。<br />LNK2019: 无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance<br />在于处理器定义加上<br />LOG4CPLUS_BUILD_DLL <img src ="http://www.cppblog.com/byc/aggbug/186139.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/byc/" target="_blank">八叶草</a> 2012-08-03 12:04 <a href="http://www.cppblog.com/byc/archive/2012/08/03/186139.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>log4cplus 初步</title><link>http://www.cppblog.com/byc/archive/2011/03/01/140910.html</link><dc:creator>八叶草</dc:creator><author>八叶草</author><pubDate>Tue, 01 Mar 2011 08:03:00 GMT</pubDate><guid>http://www.cppblog.com/byc/archive/2011/03/01/140910.html</guid><wfw:comment>http://www.cppblog.com/byc/comments/140910.html</wfw:comment><comments>http://www.cppblog.com/byc/archive/2011/03/01/140910.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/byc/comments/commentRss/140910.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/byc/services/trackbacks/140910.html</trackback:ping><description><![CDATA[<p>选择：<br>&nbsp;<br>&nbsp;C++（log4cpp（<a href="http://log4cpp.sourceforge.net/">http://log4cpp.sourceforge.net/</a>）、log4cplus（<a href="http://log4cplus.sourceforge.net/">http://log4cplus.sourceforge.net/</a>）、log4cxx（<a href="http://log4cxx.sourceforge.net/">http://log4cxx.sourceforge.net/</a>），C（log4c）选择那个呢？log4cpp好久没更新了(截至2011年2月最新版本发布时间是2007-09-03) log4cxx 需要Apache ,没有进行其他更深入的了解，选择了log4cplus。 </p>
<p>编译：<br>&nbsp;<br>&nbsp;原工程是vs2005的，我装的是vs2010，打开log4cplus-1.0.4\msvc8\log4cplus.sln 转换失败，反复搜索，原来要x64编译器支持，控制面板-〉vs2010更该程序，勾选x64编译器和工具，从新打开log4cplus.sln转换完成，编译OK。 </p>
<p>使用：<br>&nbsp;<br>log4cplus-1.0.4\tests中非常多的例子，还有更详细的，牛人写的log4cplus学习笔记：<a href="http://honey-bee.javaeye.com/blog/65805">http://honey-bee.javaeye.com/blog/65805</a></p>
<p>参考资料：<br>&nbsp;<br>便利的开发工具-log4cpp快速使用指南：<a href="http://www.ibm.com/developerworks/cn/linux/l-log4cpp/">http://www.ibm.com/developerworks/cn/linux/l-log4cpp/</a><br></p>
<img src ="http://www.cppblog.com/byc/aggbug/140910.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/byc/" target="_blank">八叶草</a> 2011-03-01 16:03 <a href="http://www.cppblog.com/byc/archive/2011/03/01/140910.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>syslog</title><link>http://www.cppblog.com/byc/archive/2010/11/17/133887.html</link><dc:creator>八叶草</dc:creator><author>八叶草</author><pubDate>Wed, 17 Nov 2010 08:00:00 GMT</pubDate><guid>http://www.cppblog.com/byc/archive/2010/11/17/133887.html</guid><wfw:comment>http://www.cppblog.com/byc/comments/133887.html</wfw:comment><comments>http://www.cppblog.com/byc/archive/2010/11/17/133887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/byc/comments/commentRss/133887.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/byc/services/trackbacks/133887.html</trackback:ping><description><![CDATA[<p>日志模块进化史<br>ver1&nbsp;CEidt重载&lt;&lt;<br>ver2 多标签 Richedit&nbsp; CLogFile &lt;&lt;<br>ver3 多标签 ListCtrl&nbsp; PrintLog(...)<br><br>ver4 <br>开始想到kiwi syslog, 测试了一下 fwrite 和 sendto 的速度，放弃<br>这个方法更好，fwrite + 文件监视<br><br><br><br><br><br><a href="http://blog.csdn.net/xcj0535/archive/2009/05/07/4158624.aspx">http://blog.csdn.net/xcj0535/archive/2009/05/07/4158624.aspx</a><br>&nbsp;在网上搜的文章，写的很全乎。摘抄如下，供大家参考学习</p>
<p>1、介绍 </p>
<p>在Unix类操作系统上，syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中，也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储，或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。</p>
<p>完整的syslog日志中包含产生日志的程序模块（Facility）、严重性（Severity或 Level）、时间、主机名或IP、进程名、进程ID和正文。在Unix类操作系统上，能够按Facility和Severity的组合来决定什么样的日志消息是否需要记录，记录到什么地方，是否需要发送到一个接收syslog的服务器等。由于syslog简单而灵活的特性，syslog不再仅限于 Unix类主机的日志记录，任何需要记录和发送日志的场景，都可能会使用syslog。</p>
<p>长期以来，没有一个标准来规范syslog的格式，导致syslog的格式是非常随意的。最坏的情况下，根本就没有任何格式，导致程序不能对syslog 消息进行解析，只能将它看作是一个字符串。</p>
<p>在2001年定义的RFC3164中，描述了BSD syslog协议：<br><a href="http://www.ietf.org/rfc/rfc3164.txt">http://www.ietf.org/rfc/rfc3164.txt</a><br>不过这个规范的很多内容都不是强制性的，常常是&#8220;建议&#8221;或者&#8220;约定&#8221;，也由于这个规范出的比较晚，很多设备并不遵守或不完全遵守这个规范。接下来就介绍一 下这个规范。</p>
<p>约定发送syslog的设备为Device，转发syslog的设备为Relay，接收syslog的设备为Collector。Relay本身也可以发送自身的syslog给Collector，这个时候它表现为一个Device。Relay也可以只转发部分接收到的syslog消息，这个时候它同时表现为Relay和Collector。</p>
<p>syslog消息发送到Collector的UDP 514端口，不需要接收方应答，RFC3164建议 Device 也使用514作为源端口。规定syslog消息的UDP报文不能超过1024字节，并且全部由可打印的字符组成。完整的syslog消息由3部分组成，分别是PRI、HEADER和MSG。大部分syslog都包含PRI和MSG部分，而HEADER可能没有。</p>
<p>2、syslog的格式 </p>
<p>下面是一个syslog消息：<br>&lt;30&gt;Oct 9 22:33:20 hlfedora auditd[1787]: The audit daemon is exiting.<br>其中&#8220;&lt;30&gt;&#8221;是PRI部分，&#8220;Oct 9 22:33:20 hlfedora&#8221;是HEADER部分，&#8220;auditd[1787]: The audit daemon is exiting.&#8221;是MSG部分。</p>
<p>2.1、PRI部分 <br>PRI部分由尖括号包含的一个数字构成，这个数字包含了程序模块（Facility）、严重性（Severity），这个数字是由Facility乘以 8，然后加上Severity得来。不知道他们为什么发明了这么一种不直观的表示方式。<br>也就是说这个数字如果换成2进制的话，低位的3个bit表示Severity，剩下的高位的部分右移3位，就是表示Facility的值。<br>十进制30 = 二进制0001 1110<br>0001 1... = Facility: DAEMON - system daemons (3)<br>.... .110 = Severity: INFO - informational (6)</p>
<p>Facility的定义如下，可以看出来syslog的Facility是早期为Unix操作系统定义的，不过它预留了User（1），Local0～7 （16～23）给其他程序使用：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Numerical&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Facility<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Code</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; kernel messages<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user-level messages<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mail system<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system daemons<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; security/authorization messages (note 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; messages generated internally by syslogd<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line printer subsystem<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; network news subsystem<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UUCP subsystem<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clock daemon (note 2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; security/authorization messages (note 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FTP daemon<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NTP subsystem<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log audit (note 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; log alert (note 1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clock daemon (note 2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 0&nbsp; (local0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 17&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 1&nbsp; (local1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 2&nbsp; (local2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 3&nbsp; (local3)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 4&nbsp; (local4)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 5&nbsp; (local5)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 6&nbsp; (local6)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local use 7&nbsp; (local7)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Note 1 - Various operating systems have been found to utilize<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Facilities 4, 10, 13 and 14 for security/authorization,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; audit, and alert messages which seem to be similar.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Note 2 - Various operating systems have been found to utilize<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; both Facilities 9 and 15 for clock (cron/at) messages.</p>
<p>Severity的定义如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Numerical&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Severity<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Code</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Emergency: system is unusable<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alert: action must be taken immediately<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Critical: critical conditions<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Error: error conditions<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Warning: warning conditions<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Notice: normal but significant condition<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Informational: informational messages<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debug: debug-level messages</p>
<p>也就是说，尖括号中有1～3个数字字符，只有当数字是0的时候，数字才以0开头，也就是说00和01这样在前面补0是不允许的。</p>
<p>2.2、HEADER部分 <br>HEADER部分包括两个字段，时间和主机名（或IP）。<br>时间紧跟在PRI后面，中间没有空格，格式必须是&#8220;Mmm dd hh:mm:ss&#8221;，不包括年份。&#8220;日&#8221;的数字如果是1～9，前面会补一个空格（也就是月份后面有两个空格），而&#8220;小时&#8221;、&#8220;分&#8221;、&#8220;秒&#8221;则在前面补&#8220;0&#8221;。月份取值包括：<br>Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec</p>
<p>时间后边跟一个空格，然后是主机名或者IP地址，主机名不得包括域名部分。</p>
<p>因为有些系统需要将日志长期归档，而时间字段又不包括年份，所以一些不标准的syslog格式中包含了年份，例如：<br>&lt;165&gt;Aug 24 05:34:00 CST 1987 mymachine myproc[10]: %% It's<br>time to make the do-nuts. %% Ingredients: Mix=OK, Jelly=OK #<br>Devices: Mixer=OK, Jelly_Injector=OK, Frier=OK # Transport:<br>Conveyer1=OK, Conveyer2=OK # %%<br>这样会导致解析程序将&#8220;CST&#8221;当作主机名，而&#8220;1987&#8221;开始的部分作为MSG部分。解析程序面对这种问题，可能要做很多容错处理，或者定制能解析多种syslog格式，而不仅仅是只能解析标准格式。</p>
<p>HEADER部分后面跟一个空格，然后是MSG部分。<br>有些syslog中没有HEADER部分。这个时候MSG部分紧跟在PRI后面，中间没有空格。</p>
<p>2.3、MSG部分 <br>MSG部分又分为两个部分，TAG和Content。其中TAG部分是可选的。<br>在前面的例子中（&#8220;&lt;30&gt;Oct 9 22:33:20 hlfedora auditd[1787]: The audit daemon is exiting.&#8221;），&#8220;auditd[1787]&#8221;是TAG部分，包含了进程名称和进程PID。PID可以没有，这个时候中括号也是没有的。<br>进程PID有时甚至不是一个数字，例如&#8220;root-1787&#8221;，解析程序要做好容错准备。</p>
<p>TAG后面用一个冒号隔开Content部分，这部分的内容是应用程序自定义的。</p>
<p><br>3、RFC3195 <br>BSD syslog协议使用UDP协议在网络中传递，然而UDP是一个不可靠的协议，并且syslog也没有要求接收方有所反馈。为了解决这个问题，RFC又定义了一个新的规范来可靠的传递syslog消息，它使用TCP协议：<br><a href="http://www.ietf.org/rfc/rfc3195.txt">http://www.ietf.org/rfc/rfc3195.txt</a><br>不过大多数情况下，使用UDP发送不需要确认的syslog消息，已经能够满足要求了，并且这样做非常简单。因此到目前为止，RFC3195的应用还是很少见的<br></p>
<img src ="http://www.cppblog.com/byc/aggbug/133887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/byc/" target="_blank">八叶草</a> 2010-11-17 16:00 <a href="http://www.cppblog.com/byc/archive/2010/11/17/133887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>