• 14208阅读
  • 8回复

[提问]请教log4qt的日志分类问题 [复制链接]

上一主题 下一主题
离线yushan
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-19
关键词: 求助出错
由于想学习一下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
只看该作者 1楼 发表于: 2012-04-19
配置文件如下

## 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
只看该作者 2楼 发表于: 2012-04-19
有人能帮忙看看是什么问题不?
后飞的笨鸟
离线yushan
只看该作者 3楼 发表于: 2012-04-19
各位高手些,都来帮忙看一下啊
后飞的笨鸟
离线yushan
只看该作者 4楼 发表于: 2012-04-20
一直没有回复,看样子只能放弃了
后飞的笨鸟
离线weinkym

只看该作者 5楼 发表于: 2015-01-09
我到现在才开始用log4qt
离线davie

只看该作者 6楼 发表于: 2015-01-21
LZ解决了没有,如果解决了给个总结啥的,也好让我们学习学习
离线sqq584

只看该作者 7楼 发表于: 2017-03-28
离线dosmlp

只看该作者 8楼 发表于: 2017-04-05
竟然还有这东西,我记得qt自带日志处理的啊
快速回复
限100 字节
 
上一个 下一个