log4cplus 简单介绍

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 
#include 
#include 
#include 
#include 
#include 
#include 
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(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;
}


你可能感兴趣的:(C,/,C++)