查看完整版本: [-- 请教log4qt的日志分类问题 --]

QTCN开发网 -> Qt基础编程 -> 请教log4qt的日志分类问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

yushan 2012-04-19 02:16

请教log4qt的日志分类问题

由于想学习一下log4qt,自己做了个测试程序,但现在分类死活不对,还望搞过的高手指教。

先上报错信息

02:08:46.629 ERROR Factory: - Cannot convert to type 'Level' for property 'threshold' on object of class 'Log4Qt::DailyRollingFileAppender' (Log4Qt::Factory::CONFIGURATOR_UNKNOWN_TYPE_ERROR, 29)
02:08:46.629 ERROR Factory: - Cannot convert to type 'Level' for property 'threshold' on object of class 'Log4Qt::DailyRollingFileAppender' (Log4Qt::Factory::CONFIGURATOR_UNKNOWN_TYPE_ERROR, 29)
02:08:46.629 ERROR Factory: - Unable to set property value on object (Log4Qt::Factory::CONFIGURATOR_PROPERTY_ERROR, 28): Property 'append' does not exist in class 'Log4Qt::DailyRollingFileAppender' (Log4Qt::Factory)
02:08:46.639  INFO root: - 应用程序中文化代码设置完成.
02:08:46.639 ERROR root: - 测试
80 [] ERROR Log4Qt::Factory - Cannot convert to type 'Level' for property 'threshold' on object of class 'Log4Qt::ConsoleAppender' (Log4Qt::Factory::CONFIGURATOR_UNKNOWN_TYPE_ERROR, 29)
80 [] ERROR Log4Qt::Factory - Cannot convert to type 'Level' for property 'threshold' on object of class 'Log4Qt::DailyRollingFileAppender' (Log4Qt::Factory::CONFIGURATOR_UNKNOWN_TYPE_ERROR, 29)
80 [] ERROR Log4Qt::Factory - Cannot convert to type 'Level' for property 'threshold' on object of class 'Log4Qt::DailyRollingFileAppender' (Log4Qt::Factory::CONFIGURATOR_UNKNOWN_TYPE_ERROR, 29)
80 [] ERROR Log4Qt::Factory - Unable to set property value on object (Log4Qt::Factory::CONFIGURATOR_PROPERTY_ERROR, 28): Property 'append' does not exist in class 'Log4Qt::DailyRollingFileAppender' (Log4Qt::Factory)

再上头文件和CPP文件
  1. #ifndef VIPMSBUF_H
  2. #define VIPMSBUF_H
  3. #include <QtSql>
  4. #include <QTextEdit>
  5. #include <log4qt/logger.h>
  6. extern QSqlDatabase MyDBConnect;
  7. extern Log4Qt::Logger* vipmslog;
  8. extern QTextEdit* monitorinfo;
  9. #endif // VIPMSBUF_H

  1. #include <QtGui/QApplication>
    #include <QTextBrowser>
  2. #include <QTextCodec>
  3. #include <QMessageBox>
  4. #include <QtDebug>
  5. #include <QtSql>
  6. #include <log4qt/propertyconfigurator.h>
  7. #include <log4qt/logmanager.h>
  8. #include "mainwindow.h"
  9. QSqlDatabase MyDBConnect;
  10. QTextEdit* monitorinfo;
  11. Log4Qt::Logger* vipmslog = Log4Qt::Logger::rootLogger();
  12. int main(int argc, char *argv[])
  13. {
  14.     /// int re_value;
  15.     /// 设置程序中文支持
  16.     QTextCodec *codec = QTextCodec::codecForName("System");
  17.     QTextCodec::setCodecForLocale(codec);
  18.     QTextCodec::setCodecForCStrings(codec);
  19.     QTextCodec::setCodecForTr(codec);
  20.     /// 初始化系统主界面
  21.     QApplication a(argc, argv);
  22.     MainWindow w;
  23.     /// 定义日志文件配置信息
  24.     vipmslog->removeAllAppenders();
  25.     Log4Qt::PropertyConfigurator::configure(a.applicationDirPath()+ "/vipmslog.conf");
  26.     Log4Qt::Logger* vipmslog = Log4Qt::Logger::rootLogger();
  27.     ///    Log4Qt::LogManager::setHandleQtMessages(true);
  28.     vipmslog->info( QObject::tr("应用程序中文化代码设置完成.") );
  29. vipmslog->error( QObject::tr("测试") );
  30.     /// 启动程序主界面
  31. w.show();
  32.     return a.exec();
  33. }


yushan 2012-04-19 02:25
配置文件如下

## set log levels ###
log4j.rootLogger = debug ,  stdout ,  D ,  E

### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = DEBUG
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n

### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/run.log
log4j.appender.E.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 保存异常信息到单独文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

yushan 2012-04-19 09:51
有人能帮忙看看是什么问题不?

yushan 2012-04-19 16:54
各位高手些,都来帮忙看一下啊

yushan 2012-04-20 09:29
一直没有回复,看样子只能放弃了

weinkym 2015-01-09 17:26
我到现在才开始用log4qt

davie 2015-01-21 14:09
LZ解决了没有,如果解决了给个总结啥的,也好让我们学习学习

sqq584 2017-03-28 14:40
http://jingyan.baidu.com/article/e4511cf348d6c52b845eafcc.html
可以简单参考一下

dosmlp 2017-04-05 15:30
竟然还有这东西,我记得qt自带日志处理的啊


查看完整版本: [-- 请教log4qt的日志分类问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled