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配置文件一起放。