`

log4cpp 配置与使用

    博客分类:
  • C++
阅读更多
以下转自:http://blog.csdn.net/jq0123/archive/2006/08/09/1042617.aspx
log4cpp应用手册

1 下载log4cpp并解压。(下载log4cpp-1.0版本,使用msvc6编译不成功,错误一大堆,只好用网上许多人使用成功的log4cpp-0.3.4b版本

2 打开\log4cpp-0.3.4b\msvc6\msvc6.dsw
  编译log4cpp工程Release版。
 
3 将编译后的log4cpp.lib复制到VC的Lib目录中。

4 将头文件的目录log4cpp-0.3.4b\include\log4cpp\
  复制到VC的Include目录.
  (或者添加log4cpp-0.3.4b\include到VC的Include环境变量)

6 目标工程包含库
log4cpp.lib ws2_32.lib(要选择库连接方式相同的库)

5 包含头文件
日志记录
#include <log4cpp/Category.hh>
日志配置读取
#include <log4cpp/PropertyConfigurator.hh>
NDC
#include <log4cpp/NDC.hh>

9 日志代码
每个类可以有自己的类别(log4cpp::Category),
可以在配置文件中添加该类别并设置日志级别。
所有的log4cpp::Category都使用同一个Appender
不同的Category配置为不同的日志级别,就可以控制日志输出的范围。
一般只使用四个记录日志级:DEBUG,INFO,WARN,ERROR
如:
log4cpp::Category::getRoot().info("Now run line %d", __LINE__);
或使用非根类别
log4cpp::Category::getInstance("MyCat").info("Now run line %d", __LINE__);

使用流:
log4cpp::Category::getInstance("main_cat").infoStream()
    << "This will show up as "
    << 1 << " emergency message"
    << log4cpp::CategoryStream::ENDLINE;
   
具体的函数说明见api文档.

7 读取配置代码
读取log配置文件,应在log4cpp静态成员初始化之后。
如在CXXXApp::InitInstance()中

    try
    {
        log4cpp::PropertyConfigurator::configure("log.ini");
    }
    catch (log4cpp::ConfigureFailure e)
    {
        log4cpp::Category::getRoot().warn(e.what());
    }
   

8 配置文件

[log4cpp]
# Set root category priority to DEBUG and its only appender to A1. 
# priority enum: "FATAL", "ALERT", "CRIT", "ERROR", "WARN",
#            "NOTICE", "INFO", "DEBUG", "NOTSET", "UNKNOWN"
rootCategory=DEBUG,A1
additivity.rootCategory=false
               
# define appender
appender.A1=RollingFileAppender
#appender.A1.threshold=NOTSET
appender.A1.fileName=XXXX.log
#appender.A1.maxFileSize=10485760 (该大小为Byte)
#appender.A1.maxBackupIndex=1
appender.A1.layout=PatternLayout
appender.A1.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S}](%p)%c %x: %m%n

appender.Info_Cons=ConsoleAppender
appender.Info_Cons.threshold=INFO
appender.Info_Cons.layout=PatternLayout
appender.Info_Cons.layout.ConversionPattern=[%d{%Y-%m-%d %H:%M:%S}](%p)%c %x: %m%n

# category for sub1
category.sub1=DEBUG,A1,Info_Cons
additivity.sub1=false
category.sub2=INFO,A1
additivity.sub1=false

# other categories

[others]
djkf=dksajf


使用方法参见:
http://www.ibm.com/developerworks/cn/linux/l-log4cpp/index.html
分享到:
评论

相关推荐

    log4cpp安装与使用

    "log4cpp安装与使用" log4cpp是一个开源的C++类库,提供了在C++程序中使用日志和跟踪调试的功能。使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows...

    mfc使用log4cpp实例

    在提供的压缩包文件中,"MFC使用log4cpp"和"MFC╩╣╙├log4cpp"可能包含更具体的示例代码或者项目的实现,读者可以通过查看这些文件进一步了解如何在实际项目中整合和使用log4cpp。 总之,log4cpp为C++开发者提供...

    Log4cpp 在程序中生成日志文件

    本文将详细介绍如何在 Windows 和 Linux 系统中使用 Log4cpp 库来实现日志功能。 **1. Log4cpp 简介** Log4cpp 是基于 Apache 的 Log4j 模型设计的,它提供了一个灵活的日志框架,允许程序员定义不同级别的日志输出...

    C++基于LOG4CPP的使用封装库

    LOG4CPP的核心思想是层次化的日志记录,通过定义不同的日志级别(如DEBUG、INFO、WARN、ERROR和FATAL)来控制日志信息的输出,以及通过配置文件来指定日志输出的目的地(如控制台、文件、网络等)。 首先,我们要...

    Log4Cpp使用实例

    封装了一个使用类,从本地读取配置log级别等信息,可输出多个种类的日志文件,输出示例如下 [2017-02-20 16:09:51.910](NOTICE)Sys : 进入了CPfy_log4cppDlg::OnBnClickedButton1函数 [2017-02-20 16:09:51.911]...

    C++使用Log4cpp

    这行配置告诉Log4cpp使用OstreamAppender向标准输出(控制台)写入日志,PatternLayout定义了日志的格式,包括时间戳、优先级、类别名、行号和消息内容。 你可以为不同的类或模块创建子类别,设置各自的日志级别。...

    Log4cpp使用样例Linux系统C++程序

    在Linux系统中,使用Log4cpp的第一步通常是包含必要的头文件,并通过`log4cpp::PropertyConfigurator`配置日志设置。这个配置通常从一个属性文件读取,比如`log4cpp.properties`,其中定义了Appender、Layout和...

    LOG4CPP多个日志文件

    在“LOG4CPP 多个日志文件”的场景下,我们主要关注如何配置LOG4CPP以将日志输出到不同的文件,如DEBUG、NOTICE、WARNING、ERROR和CRITICAL级别分别对应不同的文件。 首先,理解LOG4CPP的基本架构至关重要。LOG4CPP...

    VS2015编译的log4cpp动态库

    这个特定的压缩包包含了使用Visual Studio 2015(VS2015)编译的log4cpp库,这意味着它已经针对Windows平台进行了优化,并且与VS2015的编译环境兼容。VS2015是一款强大的开发工具,支持C++11标准,具有丰富的调试和...

    log4cpp-1.1.3代码交叉编译说明

    通过交叉编译,我们可以将log4cpp库构建为适合在ARM处理器上运行的版本,然后将其部署到目标系统,以便在ARM设备上使用。 交叉编译log4cpp涉及以下关键步骤: 1. **选择正确的交叉编译工具链**:在这个例子中,...

    Log4Cpp日志输出至文件组件最佳实践

    在实际应用中,你可能需要在应用程序启动时加载外部配置文件(如log4cpp.properties),这样可以在不修改代码的情况下调整日志设置。配置文件可以包含多个Appender,不同级别的日志可以输出到不同的文件,或者通过...

    log4cpp-1.1.3.tar.gz源码和测试代码

    《C++日志库log4cpp 1.1.3版本源码与测试代码解析》 在软件开发中,日志记录是不可或缺的一部分,它帮助开发者追踪程序运行状态,定位和解决问题。C++社区中,log4cpp是一个广泛应用的日志库,它提供了灵活的日志...

    log4cpp安装使用大全

    #### 二、log4cpp安装与配置 **2.1 下载与准备** 根据提供的文档,首先需要从log4cpp主页下载所需文件。下载的文件包括`log4cpp-docs-1.0.tar.gz`(文档包)和`log4cpp-1.0.tar.gz`(源代码包)。这些文件包含了...

    Log4cpp使用档案

    Log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。网上也已经有了各种各样“教材”,但都太零碎。 本文详细的介绍了Log4cpp的各种用法,包括编译、应用、配置。同时,作者提供了自己的...

    log4cpp vs2010 版本

    《log4cpp在VS2010环境下的编译与应用》 在C++编程领域,日志记录是一项至关重要的任务,它可以帮助开发者追踪程序运行状态,定位问题,以及进行性能分析。log4cpp是一个流行的C++日志库,它提供了灵活的日志记录...

    log4cpp源代码

    总结来说,`log4cpp`为C++开发者提供了一个强大的日志框架,它具有丰富的配置选项、灵活的日志级别管理、可扩展的输出目标以及高效的实现,是进行程序调试和日志管理的理想工具。通过深入理解并使用`log4cpp`源代码...

    log4cpp(添加按日期生成日志类)

    1. **日志框架:**Log4cpp是一个广泛使用的C++日志库,它提供了类似于log4j的接口,允许开发者方便地控制日志输出级别,如DEBUG、INFO、WARN、ERROR等。 2. **日志级别:**每个日志条目都有一个级别,这决定了日志...

    log4cpp-1.1.1 库文件

    3. **编写日志**:在需要记录日志的地方,使用log4cpp提供的API,如LOG4CPP_INFO、LOG4CPP_DEBUG等,将日志信息写入。 4. **运行与调试**:运行程序,观察日志输出,根据需要调整日志级别和输出格式。 **四、实际...

    log4cpp C++开源log

    3. **初始化与使用**:在程序开始时,加载配置文件并初始化`log4cpp`。然后,通过类别名和日志级别进行日志记录: ```cpp #include &lt;log4cpp/PropertyConfigurator.hh&gt; #include &lt;log4cpp/Category.hh&gt; int ...

    日志log4cpp

    本文将详细介绍log4cpp的主要特性和使用方法。 1. **日志级别**: log4cpp支持多种日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL,这些级别可以方便地控制输出哪些类型的日志信息,帮助开发者在不同阶段关注不同...

Global site tag (gtag.js) - Google Analytics