博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(原创)一个log4cpp帮助类
阅读量:5301 次
发布时间:2019-06-14

本文共 1561 字,大约阅读时间需要 5 分钟。

引用log4cpp头文件和lib文件后,通过一个帮助类来输出日志,帮助类中定义了一些静态方法,实现日志的输出,使用起来很简单。代码如下:

#include 
#include
#include
#include
using namespace log4cpp;#include
#include
boost::once_flag g_call_once=BOOST_ONCE_INIT;class Logger : boost::noncopyable{private: Logger(void){} static void Init() { #if _DEBUG OstreamAppender* fileAppender=new OstreamAppender("osAppender",&cout); #else RollingFileAppender* fileAppender=new RollingFileAppender("fileAppender","..\\log\\antbus.log"); #endif PatternLayout* pLayout=new PatternLayout(); pLayout->setConversionPattern("%d{%Y-%m-%d %H:%M:%S,%l}: %p %c %x: %m%n"); fileAppender->setLayout(pLayout); Category& root= Category::getRoot(); root.addAppender(fileAppender); root.setPriority(Priority::INFO); }public: ~Logger(void){} void static Debug(string str) { boost::call_once(g_call_once, Init); Category::getRoot().debug(str); } void static Info(string str) { boost::call_once(g_call_once, Init); Category::getRoot().info(str); } void static Warn(string str) { boost::call_once(g_call_once, Init); Category::getRoot().warn(str); } void static Error(string str) { boost::call_once(g_call_once, Init); Category::getRoot().error(str); } void static Faltal(string str) { boost::call_once(g_call_once, Init); Category::getRoot().fatal(str); }};

测试代码:

Logger::Error("erro1");    Logger::Info("info");    Logger::Warn("warn");    Logger::Faltal("faltal");

测试结果:

转载于:https://www.cnblogs.com/qicosmos/archive/2013/04/15/3021987.html

你可能感兴趣的文章
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
#ifndef #define #endif
查看>>
css背景样式
查看>>
JavaScript介绍
查看>>
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>
Hallo wolrd!
查看>>
16下学期进度条2
查看>>
Could not resolve view with name '***' in servlet with name 'dispatcher'
查看>>
Chapter 3 Phenomenon——12
查看>>
C语言中求最大最小值的库函数
查看>>
和小哥哥一起刷洛谷(1)
查看>>
jquery对id中含有特殊字符的转义处理
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>