当前位置: 首页 > 工具软件 > log4cxx > 使用案例 >

linux log4cxx 静态库,log4cxx的个人实践

陆信瑞
2023-12-01

1.获取软件包

请从官方网站获得合适的版本,下载完成后解压缩到合适的目录中(目录中最好不要有空格,目录名最好是全英文的)。

2.获取软件包

在windows下可以用VC6.0以上的版本加载log4cxx的源码,项目文件在\log4cxx\msvc下log4cxx.dsw,然后选择F7(build all),一般情况下都能顺利编译通过。编译结束后会有以下几个文件:

1)log4cxx\msvc\lib下会有log4cxxs.lib和log4cxx.lib,其中log4cxxs.lib是用在静态库中的,log4cxx.lib是动态的引入库

2)log4cxx\msvc\bin\下会有log4cxx.dll,这是log4cxx做为静态库时的dll文件,必须要与可执行文件放在同一目录下。它跟log4cxx.lib是配合使用的。

3.项目环境设置

1)添加include目录,在“工具->选项->VC++目录->包含文件”,把log4cxx的include目录添加进去。成功后如下图所示:

2)根据源码编译属性时使用的字符集选择合适的字符集,我这里log4cxx编译库的时候使用的是“使用多字节字符集”,所以导入的时候,“项目->属性->常规->字符集”也是需要选择“使用多字节字符集”。

3)根据引入方式的不同而进行不同的设置

静态库的引入方式:

1.添加引入库的依赖项:“项目->属性->链接器->输入->附加依赖项”,填入log4cxxs.lib和WS2_32.Lib,并把log4cxxs.lib放到该项目的根目录下。

2.添加预编译器定义,“项目->属性->配置属性->C/C++->预处理器->预处理器定义”,填入LOG4CXX_STATIC。如下图所示

3.修改运行库的调试方法,“项目->属性->C/C++->代码生成->运行时库”,选择多线程调试(/MTd),成功后如下图所示:

动态库的引入方式:

1.添加引入库的依赖项:“项目->属性->链接器->输入->附加依赖项”,填入log4cxx.lib,并把log4cxx.lib放到该项目的根目录下。

2.添加log4cxx\msvc\bin\下的log4cxx.dll文件拷贝到执行文件的相应目录下。

4.编写代码

这试我顺便写的一个测试代码,可以通过的

#include

#include

#include

#include

#include

#include

#include

#include

usingnamespace log4cxx;

usingnamespace log4cxx::xml;

usingnamespace log4cxx::helpers;

intmain()

{

int

result = EXIT_SUCCESS;

try

{

BasicConfigurator::configure();

//PropertyConfigurator::configure("log4j.properties");

//DOMConfigurator::configure(

_T( "log4j.xml" ) );

LoggerPtr rootLogger =

Logger::getRootLogger();

//LoggerPtr

rootLogger = Logger::getLogger(_T("comm"));

rootLogger->info(_T("它的确工作了"));

rootLogger->warn(_T("错误啦!!"));

/*

NDC::push(_T("trivial

context"));

rootLogger->debug(_T("debug

message"));

rootLogger->info(_T("info

message"));

rootLogger->warn(_T("warn

message"));

rootLogger->error(_T("error

message"));

rootLogger->fatal(_T("fatal

message"));

*/

}

catch(Exception&)

{

result = EXIT_FAILURE;

}

return

result;

}

注意事项:

1)使用xml作为配置文件的时候一定要把log4j.dtd和xml配置文件一起放。

 类似资料: