log4qt

作者: littlesu 分类: 开发经验 发布时间: 2013-01-16 15:40 ė4,975 浏览数 6没有评论
文章转自王牌软件
站长推荐:NSetup一键部署软件
一键式完成美化安装包制作,自动增量升级,数据统计,数字签名。应对各种复杂场景,脚本模块化拆分,常规复杂的脚本代码,图形化设置。无需专业的研发经验,轻松完成项目部署。(www.nsetup.cn)
http://blog.csdn.net/dbzhang800/article/details/6916948

 

 Log4Qt::Logger * log = Log4Qt::Logger::rootLogger();

 log->debug("Hello DbZhang800!");

log->info("Hello Qt!");

log->warn("Hello 1+1=2");

log->debug("Hello DbZhang800!");


int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Log4Qt::PropertyConfigurator::configure(a.applicationDirPath() + "/log4qt.conf"); Log4Qt::LogManager::setHandleQtMessages(true); //Object obj; qDebug("123123123"); qDebug("sdasdasda"); return a.exec(); }

log4qt.conf

QSettings s;
     s.beginGroup("Log4Qt");
     s.beginGroup("Properties");
     s.setValue("log4j.appender.A1", "org.apache.log4j.FileAppender");
     s.setValue("log4j.appender.A1.file", "F:/bin/myapp.log");
     s.setValue("log4j.appender.A1.layout", "org.apache.log4j.TTCCLayout");
     s.setValue("log4j.appender.A1.layout.DateFormat", "ISO8601");
     s.setValue("log4j.rootLogger", "TRACE, A1");

log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
 

#include "./log4qt/logger.h"
#include "./log4qt/propertyconfigurator.h"
#include "./log4qt/logmanager.h"
Log4Qt::PropertyConfigurator ::configure( a.applicationDirPath () + "/log4qt.conf");
         Log4Qt::LogManager ::setHandleQtMessages( true);
         //Object obj;
         qDebug("1231DDFDDF23123");
         qDebug("sdasdasda");
         return a .exec();
 

//防止 继续写入  不覆盖
log4j.appender.R.AppendFile=true //==FileAppender::setAppendFile(true)
 
 
———————————————————–
log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j. DailyRollingFileAppender
log4j.appender.A1.File=d:/logs/log
log4j.appender.A1.AppendFile=true
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %l: %m%n
 
log4qt是Apache Log4j项目用于Qt框架的C++移植版本。单一开发者,年初发布0.2版本。
和其他系log4*不同,log4qt默认静态编译进目标程序。
使用:
1. 解压log4qt到目标文件夹,如D:Qt下;
2. qt项目的pro文件中加入一行:include(D:Qtlog4qtsrclog4qtlog4qt.pri),
    pri文件会将需要的h文件和cpp文件加入到qt项目中;
3. eclipse项目的属性-C/C++ Include Paths and Symbols中增加D:Qtlog4qtsrc;
4. main.cpp中包含头文件include "log4qt/propertyconfigurator.h",
    增加一行:Log4Qt::PropertyConfigurator::configure(a.applicationDirPath() + "/log4j.properties");
    log4j.properties符合log4j的配置文件的风格;
5. 需要记录日志的文件,头文件中包含头文件#include "log4qt/logger.h",
    在Q_OBJECT之后加入一行,LOG4QT_DECLARE_QCLASS_LOGGER,这样就可以使用logger()->error("what?")记录日志了;

疑问:
1. 怎样让日志文件以Append的方式写入?
2. 怎样以stream的方式(使用<<操作符)写日志?

更新:
2009-05-16
1. FileAppender有个属性叫appendFile,为true时以Append方式打开文件,为false时以Truncate方式打开文件,默认为false。可以调用FileAppender::setAppendFile(true),或者在配置文件中加一行log4j.appender.R.AppendFile=true。
RollingFileAppender是FileAppender的子类



只回答业务咨询点击这里给我发消息 点击这里给我发消息

王牌软件,兼职软件设计,软件修改,毕业设计。

本文出自 王牌软件,转载时请注明出处及相应链接。

本文永久链接: http://www.softwareace.cn/?p=49

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">


Ɣ回顶部

无觅相关文章插件,快速提升流量