• 1.摘要
  • 2.基本信息
  • 3.基本内容
  • 4.1、Log4cpp简介
  • 5.2、下载和安装
  • 6.3、Log4cpp的HelloWorld
  • 7.4、概念
  • 8.5、Layout(布局)

Log4cpp

Log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。

基本信息

  • 外文名

    Log4cpp

  • 类别

    C++类库

  • 基于

    LGPL

  • 优点

    提供了可扩展的多种日志记录方式

基本内容

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

1、Log4cpp简介

Log4cpp是个基于LGPL的开源项目,移植自Java的日志处理跟踪项目log4j,并保持了API上的一致。其类似的支持库还包括Java(log4j),C++(log4cpp、log4cplus),C(log4c),python(log4p)等。

Log4cpp有如下优点:

1. 提供了可扩展的多种日志记录方式;

2. 提供了NDC(嵌套诊断上下文),可用于多线程、多场景的跟踪调试;

3. 提供了完整的日志动态优先级控制,可随时调整需要记录的日志优先级;

4. 可通过配置文件完成所有配置并动态加载;

5. 性能优秀,内存占用小,经过编译后的log4cpp.dll大小仅有160kb;

6. 代码级的平台无关性,Log4cpp源代码经过编译后,适用于大多数主流的操作系统和开发工具;

7. 概念清晰,学习和使用方便,熟练程序员一天之内即可很好地应用log4cpp进行开发。

2、下载和安装

2.1 下载

下载版本0.3.5rc3,这个版本目前是最稳定的,版本1.0在VC中表现不稳定。下载后的包名字为:log4cpp-0.3.5rc3.tar.gz(源代码包)和log4cpp-docs-0.3.5rc3.tar.gz(文档压缩包)。将它们解压后放入D盘。

2.2 在VC6中编译Log4cpp

进入D:\log4cpp-0.3.5rc3\msvc6目录,打开VC6的工作区msvc6.dsw,将其中的工程都删除,只保留log4cpp和log4cppDLL两个工程。分别编译它们的Debug和Release版本。

在VC6中编译Log4cpp会报错,其实只有一个错误,即不能在头文件中定义变量,同时给变量赋默认值。修改方法如下:将头文件Priority.hh中的这一行:

static const int MESSAGE_SIZE = 8;