Log4Qt日志框架(1)- 引入到QT中

这篇具有很好参考价值的文章主要介绍了Log4Qt日志框架(1)- 引入到QT中。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 下一篇

Log4Qt日志框架(2)-深入分析和使用

1 下载源码

github:https://github.com/MEONMedical/Log4Qt
官方(版本较老):https://sourceforge.net/projects/log4qt/
CSDN(0积分):https://download.csdn.net/download/qq_40666149/88233421

2 简介

Log4Qt 是一个基于 Qt 的日志库,它是 Apache log4j 的一个移植版本。Log4Qt 旨在为 Qt 应用程序提供一个灵活和可配置的日志框架。以下是 Log4Qt 的一些基本特性和信息:

  • 组件化:Log4Qt 提供了各种组件,如日志器(Logger)、日志级别、布局(Layout)、Appender(追加器)等,使得其非常灵活和可扩展。
  • 多种日志级别:它支持多种日志级别,如 TRACE、DEBUG、INFO、WARN、ERROR 和 FATAL。
  • 多种输出目标:Log4Qt 可以配置输出到多种目的地,例如:文件、控制台、数据库等。
  • 布局和格式化:日志消息可以按照指定的格式进行格式化,例如:时间戳、日志级别、线程信息等。
  • 异步日志:为了提高性能,Log4Qt 支持异步日志记录。
  • 配置:Log4Qt 可以通过配置文件或直接使用代码进行配置,这意味着你可以在应用程序运行时更改日志配置。
  • 过滤器:你可以配置过滤器来决定哪些日志消息应该被记录,哪些不应该。
  • 滚动策略:对于文件输出,Log4Qt 支持滚动策略,例如当日志文件达到一定大小时创建新的日志文件。
  • 和 Qt 的集成:由于是为 Qt 设计的,Log4Qt 能够很好地与 Qt 应用程序集成,包括对 Qt 的线程、信号和槽的支持。
  • 可扩展性:你可以通过继承现有组件或创建新的组件来扩展 Log4Qt 的功能。

3 加入到自己的项目中

3.1 使用库文件

如果你下载的是最新版的,需要使用QT5.12及以上版本进行编译。具体信息可以阅读下载文件中的ChangeLog.md文件。

选择log4qt.pro文件进行打开,按照你的需求直接编译即可。
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
编译生成内容如下:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
log4qt.dll、log4qt.lib这两个文件就是编译生成的库文件

  1. log4qt.dll:这是动态链接库文件。它包含库的实际代码。当你的应用程序启动时,这个 .dll 文件会被加载到内存中,并且它里面的功能会被你的应用程序使用。
  2. log4qt.lib:这是一个导入库(或称为链接库)。它在链接时提供了.dll文件中的函数和数据的引用信息,使得链接器知道如何在运行时查找这些函数和数据。当你的应用程序被编译并链接时,它实际上是链接到这个 .lib 文件,而不是 .dll 文件。

如何将这个库加入到自己的工程?
我们随便新建一个项目,如下图
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
找到你创建这个项目的位置,并创建lib和bin文件夹,将log4qt.lib文件放到lib文件夹中,将log4qt.dll放入到bin中。如图所示:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
创建include文件夹,将src中头文件加复制进去,如图所示:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统

在pro文件中加入:

DESTDIR = $$PWD/bin

INCLUDEPATH += $$PWD/include
LIBS += -L$$PWD/lib -llog4qt

如图所示:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
测试使用:
在main函数中:

#include <QApplication>

#include "log4qt/logger.h"
#include "log4qt/basicconfigurator.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Log4Qt::BasicConfigurator::configure();
    Log4Qt::Logger * log = Log4Qt::Logger::rootLogger();
    log->debug("debug!");
    log->info("information!");
    log->warn("warn");
    return a.exec();
}

编译运行生成如下:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统

3.2 引入源文件

随便创建一个项目,并将源码中的src下的log4qt文件夹复制到自己创建的项目下,如图所示:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
将build.pri和g++.pri也复制到log4qt文件下,如图:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
在pro文件中加入:

DESTDIR = $$PWD/bin

INCLUDEPATH += $$PWD/log4qt
include($$PWD/log4qt/log4qt.pri)

Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
在左侧的项目中可以看到:
Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
修改log4qt.pri文件,加入:

#加载模块
QT += xml network concurrent sql

DEFINES +=LOG4QT_STATIC
include($$PWD/build.pri)
include($$PWD/g++.pri)

Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统
测试使用:
在main函数中:

#include <QApplication>

#include "log4qt/logger.h"
#include "log4qt/basicconfigurator.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Log4Qt::BasicConfigurator::configure();
    Log4Qt::Logger * log = Log4Qt::Logger::rootLogger();
    log->debug("debug!");
    log->info("information!");
    log->warn("warn");
    return a.exec();
}

Log4Qt日志框架(1)- 引入到QT中,QT中级,qt,log4qt,日志系统

4 说明

上面两种方式都可以,根据自己项目需要选择。我是直接引入源文件的。文章来源地址https://www.toymoban.com/news/detail-670430.html

到了这里,关于Log4Qt日志框架(1)- 引入到QT中的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java日志框架JUL、Log4j、logback、log4j2使用

    随着软件系统的发展系统业务越来越多、逻辑越来越复杂、代码量越来越多,伴随着容易出现的bug也会越来越多,不论是开发测试阶段还是生产阶段都需要将这些错误及时的捕捉记录下来,方便解决这些问题,否则针对出现的异常无从下手;此时就需要一些日志框架来完成这

    2024年02月15日
    浏览(47)
  • SpringBoot整合Log4j2日志框架

    SpringBoot底层默认使用logback日志框架。 切换使用Log4j2日志框架。 pom.xml配置 log4j2-spring.xml 文件命名固定 log4j2-spring.xml ,让SpringBoot加载配置文件。 文件名为 log4j2.xml ,文件将绕过SpringBoot直接调用日志框架。 控制台日志输出信息 日志文件生成 说明:日志文件生成在当前项目下

    2024年03月09日
    浏览(50)
  • Springboot日志框架logback与log4j2

    目录 Springboot日志使用 Logback日志 日志格式 自定义日志格式 日志文件输出 Springboot启用log4j2日志框架 Springboot底层是使用slf4j+logback的方式进行日志记录 trace:级别最低 debug:调试级别的,常用于跟踪程序的进展 info:普通的打印信息(默认的日志级别) warn:警告级别,不影响

    2024年01月19日
    浏览(47)
  • Springboot整合与使用log4j2日志框架【详解版】

    Spring Boot默认使用LogBack,但是我们没有看到显示依赖的jar包,其实是因为所在的jar包spring-boot-starter-logging都是作为spring-boot-starter-web或者spring-boot-starter依赖的一部分。 如果这里要使用Log4j2,需要从spring-boot-starter-web中去掉spring-boot-starter-logging依赖,同时显示声明使用Log4j2的依

    2024年02月11日
    浏览(48)
  • flink operator 1.7 更换日志框架log4j 到logback

    更换日志框架 flink 1.18 1 消除基础flink框架log4j 添加logback jar 2 在镜像制作的时候消除: 3-2 制作flink yaml的时候添加参数

    2024年02月21日
    浏览(45)
  • 深入理解 SpringBoot 日志框架:从入门到高级应用——(六)Log4j2 输出日志到 QQ邮箱

    要实现将 log4j2 输出日志到 QQ 邮箱,需按照以下步骤进行: 在 QQ 邮箱中设置 SMTP 服务,开启 POP3/SMTP 服务,获取 SMTP 服务地址、端口号、登录邮箱账号和密码。 在 Java 项目中添加 Mail 依赖。 在 log4j2.xml 配置文件中,添加 SMTPAppender,指定SMTP服务器地址、端口号、邮箱账号和

    2024年02月09日
    浏览(51)
  • 日志框架梳理(Log4j,Reload4j,JUL,JCL,SLF4J,Logback,Log4j2)

    文中代码示例获取:关注【 Qin的学习营地 】,回复【 日志框架梳理 】 在了解日志框架时总会列出一系列框架:Log4j,Reload4j,JUL,JCL,SLF4J,Logback,Log4j2,这么多框架让人感到混乱,该怎么选取、该怎么用。接下来,让我们逐步理清这些框架及之间的关系。 首先来了解日志

    2024年02月05日
    浏览(55)
  • 深入理解 SpringBoot 日志框架:从入门到高级应用——(五)Log4j2配置文件详解

    Log4j2 官方文档:https://logging.apache.org/log4j/2.x/manual/index.html Log4j2 是一个Java日志框架,用于记录应用程序在运行时的信息。它是 Log4j 的升级版本,提供了更快的处理速度,更快的日志记录和更丰富的日志记录功能,并支持异步日志记录,减少了对应用程序性能的影响。它可以

    2024年02月05日
    浏览(45)
  • 如何在 Spring Boot 中集成日志框架 SLF4J、Log4j

    笔者的操作环境: Spring Cloud Alibaba:2022.0.0.0-RC2 Spring Cloud:2022.0.0 Spring Boot:3.0.2 Nacos 2.2.3 Maven 3.8.3 JDK 17.0.7 IntelliJ IDEA 2022.3.1 (Ultimate Edition) 因为 Spring Boot 已经内置了 Logback,所以需要先将 Logback 移除。移除的方法是在 Spring Boot 依赖包中移除 Logback。 比如就像这样: 【踩坑提

    2024年02月13日
    浏览(44)
  • Spring Boot中集成各种日志框架Logback、Log4j2和Java Util Logging

    Spring Boot支持多种日志框架,包括Logback、Log4j2和Java Util Logging(JUL)。在Spring Boot中,可以通过简单的配置来集成这些热门的日志框架。 下面将详细说明如何集成Logback、Log4j2和Java Util Logging,并提供相应的源代码示例。 集成Logback: Logback是Spring Boot默认的日志框架,它提供了高

    2024年02月05日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包