【QsLog库的编译和使用】

前言

日志在项目中定位bug的根源起着重要的作用。

0x0 下载代码

https://github.com/victronenergy/QsLog.git

0x1 用VS2019打开.pro文件,配置项目类型

在这里插入图片描述

这里的属性需要和实际使用的项目保持一致,否则会造成程序崩溃

在这里插入图片描述

0x2 找到这两个文件以及头文件,放在电脑上的一个文件夹中

在这里插入图片描述
在这里插入图片描述

0x3 在项目中进行路径配置

第二个步骤也可以在链接器→常规→附加库目录进行路径的添加
在这里插入图片描述

在这里插入图片描述

0x4 在需要使用的项目中添加必要的头文件,初始化代码,销毁代码
#include "QsLogTest.h"
#include <QsLog.h>
#include <QFileInfo>
#include <QSettings>
#include <QDir>
using namespace QsLogging;
QsLogTest::QsLogTest(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	QString m_AppPath = QApplication::applicationDirPath();
	QString iniFullPath = m_AppPath + INI_FILE_NAME;
	QSettings* iniFile = new QSettings(iniFullPath, QSettings::IniFormat);
	int logLevel = iniFile->value(INI_KEY_NAME).toInt();
	if (logLevel == 0) {
		iniFile->setValue(INI_KEY_NAME, 1);
	}
	else {
		logLevel = iniFile->value(INI_KEY_NAME).toInt();
	}
	logLevel = iniFile->value(INI_KEY_NAME).toInt();

	//Initialize logging mechanism
	Logger& logger = Logger::instance();
	logger.setLoggingLevel((Level)logLevel);

	/*Add stdout as destination*/
	DestinationPtr debugDestination(DestinationFactory::MakeDebugOutputDestination());
	logger.addDestination(debugDestination);

	/*Add files as destination*/
	const QString sLogPath(QDir(m_AppPath).filePath(LOG_FILE_NAME));
	DestinationPtr fileDestination(DestinationFactory::MakeFileDestination(sLogPath, EnableLogRotation, MaxSizeBytes(512 * 1024), MaxOldLogCount(5)));
	logger.addDestination(fileDestination);

	// Add QObject as destination
	//DestinationPtr objectDestination(DestinationFactory::MakeFunctorDestination(this, SLOT(writeLog(QString, int))));
	//logger.addDestination(objectDestination);
	delete iniFile;
}

QsLogTest::~QsLogTest()
{
	QsLogging::Logger::destroyInstance();
}

0x5 把QsLog2.dll放在Release文件夹中,否则会运行失败

在这里插入图片描述

在这里插入图片描述

0x5.1 静态库调用环境配置

VC++目录→包含目录:告诉编译器去这个地方找头文件

链接器→常规→附加库目录:告诉编译器去这个地方找lib文件

输入→附加依赖项:告诉编译器lib库文件的名字

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值