log4cplus 简单介绍

来源:互联网 发布:手机淘宝怎么上二楼 编辑:程序博客网 时间:2024/04/28 18:34

log4cplus框架

1. log4cplus基本元素
  Layouts    :控制输出消息的格式。
  Appenders  :输出位置。
  Logger     :日志对象。
  Priorities :优先权,包括TRACE, DEBUG, INFO, WARNING, ERROR, FATAL。
 
2. log4cplus基本结构
  
3. 使用步骤:
  a.) 生成Appender对象。
  b.) 生成Layout对象,并绑定到Appender。(可选)
  c.) 生成Logger对象。
  d.) 设置Logger优先级。(可选)
  e.) 将需要关联Logger的Appender添加到Logger上。
  f.) 使用Logger输出信息,所有大于设定的优先级的信息,并在所有挂接在该Logger对象上的Appender上以相应的Layout设定的格式显示出来。

示例代码:

#include <log4cplus/logger.h>#include <log4cplus/loggingmacros.h>#include <log4cplus/configurator.h>#include <log4cplus/fileappender.h>#include <log4cplus/win32debugappender.h>#include <log4cplus/layout.h>#include <memory>using namespace log4cplus;int main(){//Logger logger = Logger::getInstance(LOG4CPLUS_TEXT("main"));std::wstring log_path = L"D:\\test.log";/* step 1: Instantiate an appender object */SharedAppenderPtr _append(new FileAppender(log_path.c_str()));/* step 2: Instantiate a layout object */ std::wstring pattern = L"%D{%Y/%m/%d %H:%M:%S.%q} <%c%i> [%p] %m (%l)%n";std::auto_ptr<Layout> _layout(new PatternLayout(pattern));/* step 3: Attach the layout object to the appender */_append->setLayout(_layout);/* step 4: Attach the appender object to the logger */logger.addAppender(_append);/* step 5: Set a priority for the logger */logger.setLogLevel(DEBUG_LOG_LEVEL);/* log activity */LOG4CPLUS_DEBUG(logger, "This is the FIRST log message...");LOG4CPLUS_WARN(logger, "Hello, World!");return 0;}


0 0
原创粉丝点击