1、安装见github主页,或发行版搜索安装
https://github.com/log4cplus/log4cplus
2、基本使用
1)log4cplus是日志框架,用C++编写,模仿log4j
2)核心组件
Logger,日志类,全局单例,以字符串名标识,并可根据命名分父子层级,用作写日志的句柄
Appender,追加器,或挂载器,负责和具体输出设备绑定,并输出日志
Layout,布局类,控制Appender的日志输出格式
3)使用方式,生成appender,并设置其layout样式,然后绑定到一个logger上,示例:
// 定义一个控制台的Appender
SharedAppenderPtr pConsoleAppender(new ConsoleAppender());
// 定义一个简单的Layout,并绑定到Appender
std::auto_ptr<Layout> pSimpleLayout(new SimpleLayout());
pConsoleAppender->setLayout(pSimpleLayout);
// 定义Logger,并设置优先级
Logger pTestLogger = Logger::getInstance("LoggerName");
pTestLogger.setLogLevel(WARN_LOG_LEVEL);
// 将需要关联Logger的Appender添加到Logger上
pTestLogger.addAppender(pConsoleAppender);
std::string strMylog = "abcdefg... ";
// 输出日志信息
LOG4CPLUS_WARN(pTestLogger, "This is a <Warn> log message... " << strMylog);
LOG4CPLUS_INFO(pTestLogger, "This is a <Info> log message... " << strMylog);
3、学习资料
项目源码自带测试用例,如我的目录log4cplus-REL_1_1_3-RC7/tests/
项目自带doxygen配置文件,可用来生成类图文档手册,包括继承关系,协同关系,比较全面,如我的中文html文档
https://github.com/log4cplus/log4cplus
2、基本使用
1)log4cplus是日志框架,用C++编写,模仿log4j
2)核心组件
Logger,日志类,全局单例,以字符串名标识,并可根据命名分父子层级,用作写日志的句柄
Appender,追加器,或挂载器,负责和具体输出设备绑定,并输出日志
Layout,布局类,控制Appender的日志输出格式
3)使用方式,生成appender,并设置其layout样式,然后绑定到一个logger上,示例:
// 定义一个控制台的Appender
SharedAppenderPtr pConsoleAppender(new ConsoleAppender());
// 定义一个简单的Layout,并绑定到Appender
std::auto_ptr<Layout> pSimpleLayout(new SimpleLayout());
pConsoleAppender->setLayout(pSimpleLayout);
// 定义Logger,并设置优先级
Logger pTestLogger = Logger::getInstance("LoggerName");
pTestLogger.setLogLevel(WARN_LOG_LEVEL);
// 将需要关联Logger的Appender添加到Logger上
pTestLogger.addAppender(pConsoleAppender);
std::string strMylog = "abcdefg... ";
// 输出日志信息
LOG4CPLUS_WARN(pTestLogger, "This is a <Warn> log message... " << strMylog);
LOG4CPLUS_INFO(pTestLogger, "This is a <Info> log message... " << strMylog);
3、学习资料
项目源码自带测试用例,如我的目录log4cplus-REL_1_1_3-RC7/tests/
项目自带doxygen配置文件,可用来生成类图文档手册,包括继承关系,协同关系,比较全面,如我的中文html文档