QtApplets-Log4QtDemo
Posted DreamLife.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QtApplets-Log4QtDemo相关的知识,希望对你有一定的参考价值。
QtApplets-Log4QtDemo
今天撸一下Log4Qt版本的日志系统,今天目的就是能用就行。
文章目录
关键字:
log4Qt
、Qt
、log4
、日志
、Demo
1 获取源代码
这里直接百度就好。
2 如何使用
既然有源码了,那肯定是可以有多种方式使用了
- 直接使用源码
- 把源码编译成动态库使用
2.1 包含模块文件
今天我是使用的就是直接使用源代码,直接在Pro文件中添加include(./log4qt/log4qt.pri)
,如下图所示,我现在就成为是添加子模块吧,
pri
文件具体是啥。看里面文件内容,应该就是把log4qt的包含文件打了一个包,不用我们一个的包含了。 有其他发现再说。
# *******************************************************************************
#
# package: Log4Qt
# file: log4qt.pri
# created: September 2007
# author: Martin Heinrich
#
#
# Copyright 2007 Martin Heinrich
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# *******************************************************************************
INCLUDEPATH += $$PWD/..
DEPENDPATH += $$PWD/..
HEADERS += \\
$$PWD/appender.h \\
$$PWD/appenderskeleton.h \\
$$PWD/basicconfigurator.h \\
$$PWD/consoleappender.h \\
$$PWD/dailyrollingfileappender.h \\
$$PWD/fileappender.h \\
$$PWD/helpers/classlogger.h \\
$$PWD/helpers/configuratorhelper.h \\
$$PWD/helpers/datetime.h \\
$$PWD/helpers/factory.h \\
$$PWD/helpers/initialisationhelper.h \\
$$PWD/helpers/logerror.h \\
$$PWD/helpers/logobject.h \\
$$PWD/helpers/logobjectptr.h \\
$$PWD/helpers/optionconverter.h \\
$$PWD/helpers/patternformatter.h \\
$$PWD/helpers/properties.h \\
$$PWD/hierarchy.h \\
$$PWD/layout.h \\
$$PWD/level.h \\
$$PWD/log4qt.h \\
$$PWD/logger.h \\
$$PWD/loggerrepository.h \\
$$PWD/loggingevent.h \\
$$PWD/logmanager.h \\
$$PWD/mdc.h \\
$$PWD/ndc.h \\
$$PWD/patternlayout.h \\
$$PWD/propertyconfigurator.h \\
$$PWD/rollingfileappender.h \\
$$PWD/simplelayout.h \\
$$PWD/spi/filter.h \\
$$PWD/ttcclayout.h \\
$$PWD/writerappender.h \\
$$PWD/varia/debugappender.h \\
$$PWD/varia/denyallfilter.h \\
$$PWD/varia/nullappender.h \\
$$PWD/varia/levelmatchfilter.h \\
$$PWD/varia/levelrangefilter.h \\
$$PWD/varia/listappender.h \\
$$PWD/varia/stringmatchfilter.h
SOURCES += \\
$$PWD/appenderskeleton.cpp \\
$$PWD/basicconfigurator.cpp \\
$$PWD/consoleappender.cpp \\
$$PWD/dailyrollingfileappender.cpp \\
$$PWD/fileappender.cpp \\
$$PWD/helpers/classlogger.cpp \\
$$PWD/helpers/configuratorhelper.cpp \\
$$PWD/helpers/datetime.cpp \\
$$PWD/helpers/factory.cpp \\
$$PWD/helpers/initialisationhelper.cpp \\
$$PWD/helpers/logerror.cpp \\
$$PWD/helpers/logobject.cpp \\
$$PWD/helpers/logobjectptr.cpp \\
$$PWD/helpers/optionconverter.cpp \\
$$PWD/helpers/patternformatter.cpp \\
$$PWD/helpers/properties.cpp \\
$$PWD/hierarchy.cpp \\
$$PWD/layout.cpp \\
$$PWD/level.cpp \\
$$PWD/log4qt.cpp \\
$$PWD/logger.cpp \\
$$PWD/loggerrepository.cpp \\
$$PWD/loggingevent.cpp \\
$$PWD/logmanager.cpp \\
$$PWD/mdc.cpp \\
$$PWD/ndc.cpp \\
$$PWD/patternlayout.cpp \\
$$PWD/propertyconfigurator.cpp \\
$$PWD/rollingfileappender.cpp \\
$$PWD/simplelayout.cpp \\
$$PWD/spi/filter.cpp \\
$$PWD/ttcclayout.cpp \\
$$PWD/writerappender.cpp \\
$$PWD/varia/debugappender.cpp \\
$$PWD/varia/denyallfilter.cpp \\
$$PWD/varia/nullappender.cpp \\
$$PWD/varia/levelmatchfilter.cpp \\
$$PWD/varia/levelrangefilter.cpp \\
$$PWD/varia/listappender.cpp \\
$$PWD/varia/stringmatchfilter.cpp
2.2 main函数初始化
在main文件中给日志模块添加配置,并设置消息获取为true;如下
2.3 编写测试
接着就是消息测试,分别测试调试信息qDebug,警告信息qWarning 错误信息qCritical和致命错误qFaltal,在界面上生成4个按钮,分别对应四种消息测试,如下
在对应槽函数里面调用消息接口,如下
/**
* @brief Widget::on_pushButton_Qdebug_clicked
* 调试信息测试
*/
void Widget::on_pushButton_Qdebug_clicked()
qDebug() << "qDebug Testing";
/**
* @brief Widget::on_pushButton_Qwarning_clicked
* 一般警告测试
*/
void Widget::on_pushButton_Qwarning_clicked()
qWarning() << "qWarning Testing";
/**
* @brief Widget::on_pushButton_QCritical_clicked
* 严重错误测试
*/
void Widget::on_pushButton_QCritical_clicked()
qCritical() << "qCritical Testing";
/**
* @brief Widget::on_pushButton_QFatal_clicked
* 致命错误测试
*/
void Widget::on_pushButton_QFatal_clicked()
qFatal("qFatall Testing");
3 最终结果
最终的效果如下:其实如果仅仅是简单的日志记录,还可以自己下一个简单的日志,下一篇我们将尝试自己实现一个日志记录。尽请期待。
☞ 源码
源码链接:GitHub仓库自取
使用方法:☟☟☟
以上是关于QtApplets-Log4QtDemo的主要内容,如果未能解决你的问题,请参考以下文章