Linux格式化Log宏

本文介绍了一个使用C语言实现的时间和日期打印函数。该函数利用了`time.h`、`sys/timeb.h`和`sys/time.h`等头文件中的功能,能够详细地输出当前时间的年、月、日、小时、分钟、秒以及毫秒信息,并且格式化输出。

#include <time.h>
#include <sys/timeb.h>
#include <sys/time.h>


#define PRINTF_DEBUG(format, ...)  {\
    struct tm *__now; \
    struct timeb __tb; \
    char __datestr[16];\
    char __timestr[16];\
    char __mss[4];\
    ftime(&__tb); \
    __now=localtime(&__tb.time); \
    sprintf(__datestr, "%04d-%02d-%02d", __now->tm_year+1900, __now->tm_mon+1, __now->tm_mday);\
    sprintf(__timestr, "%02d:%02d:%02d", __now->tm_hour, __now->tm_min, __now->tm_sec );\
    sprintf(__mss,"%03d",__tb.millitm);\
    fprintf(stdout, "[%s %s.%s] ", __datestr,__timestr,__mss); \
    fprintf(stdout, "%s [%s, %d]:", (const TChar*)gLogLevelTag[level], (const char*)GetLogName(), GetLogIndex()); \
    fprintf(stdout, format,##__VA_ARGS__);  \
    fprintf(stdout,"\n"); }\


log4cplus是一个开源的C++日志库,用于在Linux系统中记录日志信息。它提供了丰富的功能和灵活的配置选项,可以帮助开发人员更好地管理和调试应用程序。 要使用log4cplus,首先需要在Linux系统上安装log4cplus库。可以通过以下步骤进行安装: 1. 下载log4cplus库的源代码包。可以从GitHub(https://github.com/log4cplus/log4cplus)或SourceForge(https://sourceforge.net/projects/log4cplus/)上获取源代码包。 2. 解压源代码包。可以使用以下命令解压tar.gz文件: ```shell tar -zxvf log4cplus-2.0.5.tar.gz ``` 3. 进入解压后的目录: ```shell cd log4cplus-2.0.5 ``` 4. 编译和安装log4cplus库。可以使用以下命令进行编译和安装: ```shell ./configure make sudo make install ``` 安装完成后,就可以在你的应用程序中使用log4cplus来记录日志了。以下是一个简单的示例: ```cpp #include <log4cplus/logger.h> #include <log4cplus/loggingmacros.h> #include <log4cplus/configurator.h> int main() { // 初始化log4cplus log4cplus::Initializer initializer; // 加载配置文件 log4cplus::PropertyConfigurator::doConfigure("log4cplus.properties"); // 获取日志记录器 log4cplus::Logger logger = log4cplus::Logger::getInstance("MyLogger"); // 记录日志 LOG4CPLUS_INFO(logger, "Hello, log4cplus!"); return 0; } ``` 在上面的示例中,我们首先包含了log4cplus的头文件,然后初始化log4cplus并加载配置文件。接下来,我们获取一个日志记录器,并使用LOG4CPLUS_INFO记录一条日志。 请注意,上述示例假设你已经创建了一个名为"log4cplus.properties"的配置文件,并将其放置在可执行文件的同一目录下。配置文件中可以定义日志的输出格式、级别、目标等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值