为什么选择极米不选择当贝,为什么选择南航不选择东航

在《C++ 日志框架》一文中,我们介绍了一些主流的 C++ 日志框架。至于选择哪一个,可以参考该文中的 日志选择标准 小节内容。对于很多人来说,第一选择会是 L

在文章《C++ 日志框架》中,我们介绍了一些主流的C++日志框架。有关选择的信息,请参阅本文的日志选择标准部分。

对于许多人来说,他们的第一选择将是Log4cpp、log4cplus、log4cxx 或Log4Qt。这是因为它们都是从Java著名的日志框架Log4j移植过来的,并且保持了一致的API。

a2990805633f49b6a9c39078d1a88efc~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717780916&x-signature=oVHhVJ9ROMANjsA2EdbUv9GhcbU%3D

Log4j 允许您:

控制日志输出格式,定义日志信息的级别以对日志生成过程进行细粒度控制,并控制日志信息的输出位置,例如输出到文件、控制台或数据库。这一切都可以通过配置文件灵活控制,无需更改源代码。

使用Log4j系列的最大优点是,一旦你熟练了一个,你就可以轻松学习其他的。即使语言环境不同,结构上也没有太大差异,非常容易使用。

那里有很多衍生产品,但我最终选择Log4Qt 的原因很简单。我的第一个身份是Qter。其实,选择哪一个并不重要,因为它们都来自同一家公司,你将主要学习Log4j的概念。

Log4Qt 简介

Log4Qt 是Apache Log4j 的Qt 移植版本,主要用于日志记录。

由于Log4Qt是基于Qt编写的,因此它也继承了Qt的跨平台特性。这意味着它可以在Windows、Linux 和MacOS 平台上使用。

主页:http://log4qt.sourceforge.net 文档:http://log4qt.sourceforge.net/html/index.html Log4Qt 的开发于2009 年结束,因此官网提供的源代码仅支持Qt4。

对于Qt4:https://sourceforge.net/projects/log4qt 但值得庆祝的是有人提供了与Qt5 兼容的版本。

对于Qt5:https://github.com/MEONMedical/Log4Qt 这个升级版本不仅允许您将Log4Qt源代码添加到您的项目中,还可以将其编译成库,并且还支持CMake和qmake。

最重要的是它不断升级,在旧版本(针对Qt4)的基础上添加了很多新功能。

Log4Qt 分层架构

Log4Qt API 设计为分层结构,每一层提供执行不同任务的不同对象。这种设计为未来的开发提供了良好的可扩展性。

Log4Qt 对象分为:

核心对象:使用框架所必需的基本对象。支持对象:帮助核心对象完成重要任务。

2f97c6def04d4b8fa991a907e1cfe3d0~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717780916&x-signature=54guAv%2F1ee3rut1%2B1MdHLBA%2Fltc%3D

核心对象:

Logger对象:位于顶层,负责捕获日志信息。 Appender对象:将日志信息输出到控制台、文件、数据库等各种输出目的地。布局对象:用于控制日志输出格式,该层帮助以可读的格式记录信息。支持的对象:

Level对象:定义日志信息的优先级:TRACE DEBUG INFO WARN ERROR FATAL。 LogManager:负责从配置文件或配置类中读取初始配置参数。 Filter对象:用于分析日志信息,进一步判断是否应该记录信息。 ObjectRenderer:用于为传递的各种Logger 对象提供字符串表示(尚未在Log4Qt 中使用)。下载并解压

编译 Log4Qt

Log4Qt(适用于Qt5)。目录结构如下:

403114d5bb514e87a11c6c641fe78cb5~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717780916&x-signature=6xpuU4frSrExgNwqUi3PY6qEHK4%3D

可以看到,同时支持 CMake 和 qmake。其中,src 是需要特别关注的目录,里面包含了 Log4Qt 的所有源码。

由于代码结构干净,编译Log4Qt(以Windows 为例)非常容易。

使用Qt Creator 打开log4qt.pro。运行qmake -build。如果成功,会在build目录下生成log4qt.lib、log4qt.dll以及相应的示例程序。

配置 Log4Qt

使用Log4Qt 有两种方法:将Log4Qt 源代码添加到您的项目中,或者将其用作第三方库。

将 Log4Qt 源码添加至项目中

Log4Qt-master/src/log4qt目录包含一个非常重要的文件log4qt.pri,通过它您可以轻松地将Log4Qt源代码添加到您的项目中。

只需将以下设置添加到您的.pro(您自己的项目文件)中。

356c09f50f804071a70ffd73784c5b97~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717780916&x-signature=pQebZNfR8C8vmmbyCw2UZ17S7PU%3D

将 Log4Qt 作为第三方库使用

如上所述,当您编译Log4Qt时,会生成相应的库。因此,如果你想将其用作第三方库,它也非常有用。

只需将以下设置添加到您的.pro(您自己的项目文件)中。

3ee88f3feb604323a86ede661e57a610~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717780916&x-signature=ccGkuAonmNc4LVtERLhrX%2FvuS5I%3D

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/83797.html

(0)
小条's avatar小条
上一篇 2024年6月1日 上午1:21
下一篇 2024年6月1日 上午1:22

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注