log4cplus的使用

log4cplus的使用

flyfish 2015-6-18

log4cplus是C++编写的一个易于使用,线程安全的日志系统,

windows下的配置
log4cplus/msvc10 下有个log4cplus.sln文件直接使用VS2010打开编译。
Unicode下编译生成log4cplusUD.lib和log4cplusU.dll

配置采用动态链接库的方式
在项目属性中配置  以debug环境下的配置为例 注意debug环境和release环境下文件生成的不同路径
X表示log4cplus所在的盘符
1 C/C++ -》 常规 -》 附加包含目录 X:\log4cplus\include
2 链接器 -》 常规 -》 附加库目录 X:\log4cplus\msvc10\x64\bin.Debug_Unicode
3 链接器 -》 输入 -》 log4cplusUD.lib
4 复制dll到生成exe所在的目录

写文件示例

#include  <log4cplus/logger.h>
#include  <log4cplus/fileappender.h>
#include  <log4cplus/layout.h>
#include  <log4cplus/ndc.h>
#include  <log4cplus/helpers/loglog.h>
#include  <log4cplus/loggingmacros.h>

	const std::wstring file_name=_T("log.txt");

	log4cplus::initialize();

	log4cplus::helpers::LogLog::getLogLog()->setInternalDebugging(true);

	log4cplus::SharedAppenderPtr append_1(new log4cplus::FileAppender((file_name),std::ios::trunc,true));
	append_1->setName(LOG4CPLUS_TEXT("main"));
	log4cplus::Logger::getRoot().addAppender(append_1);

	std::auto_ptr<log4cplus::Layout> pPatternLayout(new log4cplus::PatternLayout(_T("%d{%y-%m-%d %H:%M:%S}    - %m [%l]%n"))); 
	append_1->setLayout(pPatternLayout); 

	log4cplus::Logger root = log4cplus::Logger::getRoot();

	root.setLogLevel(log4cplus::ALL_LOG_LEVEL);

	LOG4CPLUS_TRACE(log4cplus::Logger::getRoot(),"ABC");


执行exe之后,会在exe所在目录生成log.txt文件 内容包括时间,ABC和所在代码行


你可能感兴趣的:(log4cplus)