1、log4c_category_get函数
get特征,可从xml中获得多个category,如:
(1)搜six13log.log.app.application1会包含xml中有的six13log.log.app.application1、six13log.log.app、six13log.log等category,以.为分隔符号,向上包含。
(2)搜six13log.log.app,并不会包含six13log.log.app.application1,也就是不向下包含。
2、log4c有自己的文件输出方式,可指定目录、文件个数、文件大小、文件名前缀、输出方式等。如果大小完了,log4c会删除全部,然后重新开始写。
3、用户可以写自己的append和format。官网的程序包中有两个例子,这样我们可以将日志输出到syslog和socket中。
4、const log4c_location_info_t locinfo = LOG4C_LOCATION_INFO_INITIALIZER(NULL); 来定义日志中的函数名、行数信息。
log4c配置文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4c SYSTEM "">
<log4c version="1.2.1">
<config>
<bufsize>0</bufsize>
<debug level="2"/>
<nocleanup>0</nocleanup>
<reread>1</reread>
</config>
<category name="root" priority="notice"/>
<category name="six13log.log" priority="error" appender="stdout" />
<rollingpolicy name="myrollingpolicy" type="sizewin" maxsize="1024" maxnum="10" />
<!-- log4c库中定义的向文件输出的appender,指定路径,前缀等 -->
<appender name="myrollingfileappender" type="rollingfile" logdir="." prefix="myprefix" layout="dated" rollingpolicy="myrollingpolicy" />
<!-- log4c自带appender -->
<appender name="stdout" type="stream" layout="basic"/>
<appender name="stderr" type="stream" layout="dated"/>
<appender name="syslog" type="syslog" layout="basic"/>
<!-- 例子example_appenders.c中扩展的appender -->
<appender name="s13file" type="s13_file" layout="basic"/>
<appender name="plain_stderr" type="s13_stderr" layout="none"/>
<appender name="cat_stderr" type="s13_stderr" layout="catlayout"/>
<appender name="xml_stderr" type="s13_stderr" layout="xmllayout"/>
<appender name="user_stderr" type="s13_stderr" layout="userlayout"/>
<!-- log4c自带的appender -->
<layout name="basic" type="basic"/>
<layout name="dated" type="dated"/>
<!-- 例子example_formatters.c扩展的输出格式 -->
<layout name="catlayout" type="s13_cat"/>
<layout name="xmllayout" type="s13_xml"/>
<layout name="none" type="s13_none"/>
<layout name="userlayout" type="s13_userloc"/>
<!-- proiority级别为debug,C代码中小于debug的日志都会输出 -->
<category name="six13log.log.app.application1" priority="debug" appender="cat_stderr" />
<category name="six13log.log.app.application2" priority="debug" appender="cat_stderr" />
<category name="six13log.log.app.application3" priority="debug" appender="user_stderr" />
<category name="six13log.log.app" priority="debug" appender="myrollingfileappender" />
</log4c>
参考博客:
http://www.cnblogs.com/jyli/archive/2010/02/11/1660606.html
http://blog.csdn.net/CppExplore/archive/2009/09/26/4596235.aspx
没有评论:
发表评论