没有合适的资源?快使用搜索试试~ 我知道了~
首页log4cpp安装与使用
资源详情
资源评论
资源推荐

引言:
Log4cpp 是一个开源的 C++类库,它提供了在 C++程序中使用日志和跟踪调试的功能。使用
log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、
调试器、Windows 日志、syslog 和远程 syslog 服务器中。
Log4cpp 简介:
Log4cpp 是个基于 LGPL 的开源项目,移植自 Java 的日志处理跟踪项目 log4j,并保持了 API 上
的一致。其类似的支持库还包括 Java(log4j),C++(log4cpp、log4cplus),C(log4c),python(log4p)等。
Log4cpp 有如下优点:
提供了可扩展的多种日志记录方式;
提供了 NDC(嵌套诊断上下文),可用于多线程、多场景的跟踪调试;
提供了完整的日志动态优先级控制,可随时调整需要记录的日志优先级;
可通过配置文件完成所有配置并动态加载;
性能优秀,内存占用小,经过编译后的 log4cpp.dll 大小仅有 160kb;
代码级的平台无关性,Log4cpp 源代码经过编译后,适用于大多数主流的操作系统和开发工
具;
概念清晰,学习和使用方便,熟练程序员一天之内即可很好地应用 log4cpp 进行开发。
下载和安装
1. 下载
Log4cpp 的主页为:http://sourceforge.net/projects/log4cpp/
这里是我下载好的压缩包文件:
版本为 0.3.5rc3,这个版本目前是最稳定的,版本 1.0 在 VC 中表现不稳定,从 SourceForge 上得
知,最新版本已经到了 1.1 了,但我自己没测试过。下载后的包名字为:log4cpp-0.3.5rc3.tar.gz(源
代码包)和 log4cpp-docs-0.3.5rc3.tar.gz(文档压缩包)。
2. 在 VC6 中编译 Log4cpp

解压源代码包,目录自选,我自己解压在 E 盘,进入 E:\log4cpp-0.3.5rc3\msvc6 目录,打开 VC6
的工作区 msvc6.dsw,将其中的工程都删除,只保留 log4cpp 和 log4cppDLL 两个工程。分别编译它
们的 Debug 和 Release 版本。
在 VC6 中编译 Log4cpp 会报错,其实只有一个错误,即不能在头文件中定义变量(这种错误都
能有,可能是从 JAVA 上移植过来的原因),同时给变量赋默认值。修改方法如下:将头文件
Priority.hh 中的这一行:
改为:
并在 Priority.cpp 中的最后一条 #include 语句后加上:
编译链接成功后得到的文件:
静态库文件:log4cppD.lib 和 log4cpp.lib(对应于 log4cpp 工程)
动 态 库 文 件 : log4cppD.dll 、 log4cppD.lib ( Debug 版 的 dll 和 lib 文 件 ) 和
log4cpp.dll、log4cpp.lib(Release 版的 dll 和 lib 文件)(对应于 log4cppDLL 工程)
至于使用哪种,依你的喜好决定,我比较喜欢用动态库,所以下面配置 VC6 环境,是以我选择
使用动态库文件的方式进行配置的。
3. 配置 VC6 环境
虽然很简单,但还是啰嗦下。
为了一劳永逸,将 log4cpp 的相关头文件、lib 文件和 dll 文件作为 VC6.0 的系统文件:
步骤如下:
1) 拷贝 E:\log4cpp-0.3.5rc3\log4cpp-0.3.5rc3\include 目录下的 log4cpp 文件夹到 E:\Program Files\
Microsoft Visual Studio\VC98\Include 目录下;
2) 拷贝编译生成的 lib 文件到 E:\Program Files\Microsoft Visual Studio\VC98\Lib\log4cpp-0.3.5rc3
目录下,当然 log4cpp-0.3.5rc3 是我自己建的一个文件夹,方便区分;

3) 打开 VC6,选择【Tools】->【Options】->【Directories】,设置 lib 文件的路径,如下图所示:
4) 打开你自己的工程,开发工程设置(快捷键 Alt+F7),添加编译生成的 lib 文件,如下图所
示:
5) 至于 dll 文件的放置,如何是在本机上运行,可以有很多方法,但在发布程序的时候,还是
将编译生成的 dll 文件放置到你的程序包中;
到此,环境配置 OK。
如何使用?
1. Log4cpp 的 HelloWorld
让我们从一个简单的例子开始,该例子将两条日志信息写入字符串流,该流会在标准控制台
cout 上输出,项目的名称是 HelloLog4Cpp:

程序输出如下:
以上两条日志格式很简陋,视乎也没什么特别的地方,慢慢的,好戏还在后头,要设置合乎心
意的日志格式,就要用到 PaernLayout 了。
Log4cpp 中的概念继承自 log4j,最重要的是 Category(种类)、Appender(附加目的地)和
Layout(布局)三个概念,此外还有 Priority(优先级)和 NDC(嵌套的诊断上下文)等。
剩余15页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论1