log4c 日志时间与系统时间不符

解决log4c 日志时间与系统时间不符

问题:
在项目中,通过ubuntu交叉编译log4c在ARM上运行时,发现生成的日志文件中log的打印时间与系统时间并不相符,因为时区的原因慢了8个小时。

解决方案:
将log4crc文件中的dated更改为dated_local:

[root@Matrix_061001 dc]#cat log4crc 
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE log4c SYSTEM "">
<log4c version="1.2.4">
 
<config>
    <bufsize>0</bufsize>
    <debug level="2"/>
    <nocleanup>0</nocleanup>
    <reread>1</reread>
</config>
 
<!-- root category -->
<category name="root" priority="notice"/>
<category name="mycat" priority="debug" appender="stdout"/>
<category name="file" priority="debug" appender="e2g2231_b01"/>
 
<!-- default appenders -->
<appender name="stdout" type="stream" layout="basic"/>
<!--logdir 日志输出路径    prefix  文件名     layout 输出格式 (与下方layout对应)-->
<appender name="e2g2231_b01" type="rollingfile" logdir="/home/guest/e2g2231/log" layout="dated_local" rollingpolicy="RollingPolicy"/>
<appender name="stderr" type="stream" layout="dated_local"/>
<appender name="syslog" type="syslog" layout="basic"/>
 
<!-- default layouts -->
<layout name="basic" type="basic"/>
<layout name="dated_local" type="dated_local"/>
 
<!--sizewin表示达到最大值后新建日志文件  值由maxsize设定,单位Bytes     maxnum为最大文件数目 maxsize=5mb -->
<!--<rollingpolicy name="RollingPolicy" type="sizewin" maxsize="104857600" maxnum="32767" /> -->
<rollingpolicy name="RollingPolicy" type="sizewin" maxsize="10485760" maxnum="5" />
</log4c>

运行结果:


20210715 10:47:09.830 ERROR    file- [file:main.c, line:67, function:main]log:5001

20210715 10:47:09.851 ERROR    file- [file:main.c, line:67, function:main]log:5012

20210715 10:47:09.872 ERROR    file- [file:main.c, line:67, function:main]log:5022

20210715 10:47:09.893 ERROR    file- [file:main.c, line:67, function:main]log:5033

20210715 10:47:09.914 ERROR    file- [file:main.c, line:67, function:main]log:5043

20210715 10:47:09.935 ERROR    file- [file:main.c, line:67, function:main]log:5054

20210715 10:47:09.956 ERROR    file- [file:main.c, line:67, function:main]log:5064

20210715 10:47:09.977 ERROR    file- [file:main.c, line:67, function:main]log:5075

20210715 10:47:09.998 ERROR    file- [file:main.c, line:67, function:main]log:5085

20210715 10:47:10.019 ERROR    file- [file:main.c, line:67, function:main]log:5095

[root@Matrix_061001 log]#date
Thu Jul 15 10:47:12 CST 2021
[root@Matrix_061001 log]#
[root@Matrix_061001 log]#
[root@Matrix_061001 log]#
[root@Matrix_061001 log]#
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在C语言中添加日志功能,可以使用log4clog4cplus这两个第三方库来实现。log4c是一个用于C语言的日志库,而log4cplus是一个用于C++的日志库。这两个库都有详细的文档和示例代码可供参考。 如果你使用的是Win10和VS2017开发环境,你可以按照以下步骤来使用log4clog4cplus: 1. 首先,下载并安装log4clog4cplus。你可以在它们的官方网站或其他开源软件站点上找到它们的下载链接。 2. 在你的项目中添加log4clog4cplus的头文件和库文件。具体的步骤可以参考它们的官方文档。 3. 在你的代码中引入log4clog4cplus的头文件,并按照它们的文档来配置和初始化日志系统。 4. 在你的代码中使用日志功能,例如记录日志信息、设置日志级别等。你可以根据需要自定义日志输出的格式和目标。 另外,如果你想学习更多关于CMake的知识,可以参考一些开源项目如KDE、VTK、OpenCV、Caffe等的构建过程。这些项目都使用CMake作为构建工具,并且CMake的使用越来越流行。 以上是关于在C语言中添加日志功能的一些建议,请参考具体的文档和示例代码来详细了解和实践。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【小沐学C++】C++实现日志功能:log4c(Win10+VS2017+CMake)](https://blog.csdn.net/hhy321/article/details/122787300)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值