ACG狂人

其实我更爱姐汁...

log4cxx C++的日志库使用随记

log4cxx是一个不错的库,利用配置文件就可以很灵活的使用它。
说说具体用法,首先当然是在你的C++代码中写上Log的各种东西了
#include <log4cxx/logger.h>
#include 
<log4cxx/logstring.h>
#include 
<log4cxx/propertyconfigurator.h>

int _tmain(int argc, _TCHAR* argv[])
{
    
using namespace log4cxx;

    
// 读取配置文件
    PropertyConfigurator::configure("log4cxx.cfg");

    
// 建立两个logger
    LoggerPtr logger1 = Logger::getLogger("TraceYourMama");
    LoggerPtr logger2 
= Logger::getLogger("Patch");

    LOG4CXX_TRACE(logger1, 
"跟踪");
    LOG4CXX_WARN(logger1, 
"警告");
    LOG4CXX_DEBUG(logger1, 
"调试");
    LOG4CXX_ASSERT(logger1, 
false"断言");
    LOG4CXX_FATAL(logger1, 
"致命");

    LOG4CXX_TRACE(logger2, 
"跟踪");
    LOG4CXX_ERROR(logger2, 
"错误");
    
return 0;
}


其实在实际应用中,每个类都可以搞一个logger,然后在配置文件中进行如下的设置:
# 设置root logger为DEBUG级别
#log4j.rootLogger
=TRACE,ca
log4j.logger.TraceYourMama
=ERROR,fa,ha
log4j.logger.Patch
=Trace,ca

#设置spirit为TRACE级别
#log4j.spirit
=DEBUG
#log4j.additivity.spirit
=false


# %m - message
# %n - 回车
# %d - 时间
# %.16c - Logger名称
# %-5p - log级别
# %t - thread_id



#对Appender ca进行设置:
#这是一个控制台类型的Appender
#输出格式(layout)为PatternLayout
log4j.appender.ca
=org.apache.log4j.ConsoleAppender
log4j.appender.ca.layout
=org.apache.log4j.PatternLayout
log4j.appender.ca.layout.ConversionPattern
=%d %-5p %.16c - %m%n





#对Appender fa进行设置:
# 这是一个文件类型的Appender,
# 其输出文件(File)为./debug.log,
# 输出方式(Append)为覆盖方式,
# 输出格式(layout)为PatternLayout
log4j.appender.fa
=org.apache.log4j.FileAppender
log4j.appender.fa.File
=./debug.log
log4j.appender.fa.Append
=true
log4j.appender.fa.layout
=org.apache.log4j.PatternLayout
#log4j.appender.fa.layout.ConversionPattern
=%d [%t] %-5p %.16c %x - %m%n
log4j.appender.fa.layout.ConversionPattern
=%d %-5p %.16c - %m%n




posted on 2009-06-10 17:03 酿妹汁 阅读(2422) 评论(1)  编辑 收藏 引用 所属分类: C++

评论

# re: log4cxx C++的日志库使用随记 2010-12-23 11:01 天下

不错,喜欢.
  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理