首页 > 其他分享 >配置化log4c使用

配置化log4c使用

时间:2023-01-02 22:55:25浏览次数:36  
标签:category 配置 html log4c https 使用 net com

  int ret = log4c_init();
  if (ret)
    printf("log4c_init() failed\n");
  log4c_category_t* mycat = log4c_category_get("log4ctest");
  log4c_category_log(mycat, LOG4C_PRIORITY_DEBUG, "Hello World!");
  /* Explicitly call the log4c cleanup routine */
  if ( log4c_fini()){
    printf("log4c_fini() failed\n");
  }
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4c SYSTEM "">
<log4c version="1.2.4"> <!-- 版本号一定要和log4c的版本相同,否则会初始化失败 -->
    <config>
        <bufsize>0</bufsize>
        <debug level="2"/>
        <nocleanup>0</nocleanup>
        <reread>1</reread>
    </config>
 
    <category name="root" priority="notice"/>
    <category name="light-pg.com" priority="debug" appender="stderr" />
    <category name="log4ctest" priority="debug" appender="myrollingfileappender" />
    
    <rollingpolicy name="myrollingpolicy" type="sizewin" maxsize="104857600" maxnum="10" />    
        <!--sizewin 表示达到最大值后新建日志文件  值由maxsize设定
            maxnum  最大文件数目 
         -->
 
    <appender name="myrollingfileappender" type="rollingfile" logdir="./" prefix="mylogfile" layout="dated" rollingpolicy="myrollingpolicy" />
       <!--logdir 日志输出路径
           prefix  文件名
           layout 输出格式 (与下方layout对应)
              例如dated为:
                  20110727 09:21:10.167 WARN     log4ctest- [    main.c][  57][      main()]: shit!-99947
                  20110727 09:21:10.167 WARN     log4ctest- [    main.c][  57][      main()]: shit!-99948
                  20110727 09:21:10.167 WARN     log4ctest- [    main.c][  57][      main()]: shit!-99949
              basic为:
                  WARN     log4ctest - [    main.c][  57][      main()]: shit!-99982
                  WARN     log4ctest - [    main.c][  57][      main()]: shit!-99983
                  WARN     log4ctest - [    main.c][  57][      main()]: shit!-99984
                  WARN     log4ctest - [    main.c][  57][      main()]: shit!-99985              
        -->
    <appender name="stdout" type="stream" layout="basic"/>
    <appender name="stderr" type="stream" layout="dated"/>
    <appender name="syslog" type="syslog" layout="basic"/>
    <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"/>
 
    <layout name="basic" type="basic"/>
    <layout name="dated" type="dated"/>
    <layout name="catlayout" type="s13_cat"/>
    <layout name="xmllayout" type="s13_xml"/>
    <layout name="none" type="s13_none"/>
    <layout name="userlayout" type="s13_userloc"/>
 
</log4c>

虽然说log4c存在内存泄露问题,但是它是少有的纯c编写的日志库,也支持和log4j一样的xml配置。

最后,对于c,推荐zloglog.c,对于c++,推荐spdlog

https://reposhub.com/cpp-logging?sort_by=star

https://blog.csdn.net/weixin_44498318/article/details/115207476 c/c++日志库比较

https://blog.csdn.net/yasi_xi/article/details/18356393 几种C/C++ log库的比较

https://blog.51cto.com/u_6043682/3765525 开源日志库 [log4c] 使用

https://log4c.sourceforge.net/index.html

https://www.cnblogs.com/wangkangluo1/archive/2011/07/27/2118667.html log4crc配置文件

https://www.cnblogs.com/jyli/archive/2010/02/11/1660606.html log4c使用

标签:category,配置,html,log4c,https,使用,net,com
From: https://www.cnblogs.com/lightdb/p/17020335.html

相关文章

  • 记一次并发工具类countdownlantch 在线程池中的使用
    首先新建一个 ThreadFactory:packagecn.likui.common.thread.pool;importjava.util.concurrent.ThreadFactory;importjava.util.concurrent.atomic.AtomicInteger......
  • 使用lambda表达式实现sort的自定义排序
    使用lambda表达式实现sort的自定义排序(C++andJava)首先大致讲一下什么是lambda表达式你也可以将它就当做是匿名函数,lambda表达式其实就是匿名函数演化出的一种语法系统......
  • webpack4.15.1 学习笔记(二) — 配置及开发环境构建
    目录基本安装配置文件管理资源管理输出构建一个开发环境使用sourcemap选择一个开发工具观察模式webpack-dev-serverwebpack-dev-middlewarewebpack......
  • [HBase配置]-- 常数说明(2.x之前版本)
    参考官方:​​https://hbase.apache.org/apidocs/constant-values.html​​​​https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HConstants.html#MAX_ROW_LENGTH......
  • abstract; final; 属性赋值的先后顺序; 静态变量与实例变量的区别; instanceof关键字的使
    abstract注意事项。abstract不能修饰:private,static,final这些方法。abstract抽象要重写----》用来子类继承实现方法的1、abstract不能用来修饰属性、构造器等构造器不能......
  • 使用metalink批量下载sentinel数据
    问题描述在下载很多sentinel数据的时候,不想一个一个点,也没有IDM可以用,除了用Python下载,还有什么简便的方法没?有​​Aria2​​具体步骤1首先安装Aria2Github项目地址​​Ari......
  • okhttp 的使用
    okhttp的使用 ①在OKHTTP的GitHub上下载 jar包或者添加grad'le依赖 OKHTTP的地址:https://github.com/square/okhttp    ②导入jar包不想导入j......
  • GridView的簡單使用
    GridView的簡單使用  項目GitHub地址:https://github.com/leonInShanghai/IMbobo     GridViewXML佈局: <?xmlversion="1.0"encoding="utf-8"?><Li......
  • Docker配置redis相关
    三主三从配置---首先要保证dockerqidongsystemctlstartdocker---拉取redis镜像dockerpullredis:6.0.8---运行redis实例dockerrun-d--nameredis-node-1--nethost-......
  • Spring注解:使用注解的方式完成IOC
    补充:xml配置最开始(Spring1.x),Spring都是通过xml配置控制层(controller)--业务逻辑层(service)--dao层--数据源的关系,但是比较复杂Spring2.x的时候,随着JDK1.5支持注解的方式,......