• QsLog日志


    研究下QsLog,用于Qt开发。

    QsLog支持六个日志级别,优先级从低到高依次为:Trace、Debug、Info、Warn、Error、Fatal、Off。

    【使用】

    #include <QtCore/QCoreApplication>
    #include<QDir>
    #include<QDebug>
    #pragma execution_character_set("utf-8")    //避免中文乱码
    
    #include<QsLog.h>   //引入日志
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        using namespace QsLogging;
        Logger& logger = Logger::instance();    //初始化
        logger.setLoggingLevel(QsLogging::InfoLevel);  //设置写入等级
        const QString sLogPath(QDir(a.applicationDirPath()).filePath("logs/log.txt"));   //写入的文件,自己在exe的目录新建logs文件夹
        //该文件可被拆分,当大小超5M时被拆分,最多10个旧文件(超过则自动删除最旧的)
        DestinationPtr fileDestination(DestinationFactory::MakeFileDestination(sLogPath, EnableLogRotation, MaxSizeBytes(1024*1024*5), MaxOldLogCount(10)));
        logger.addDestination(fileDestination);
    
        for (int i = 0; i < 100; i++)
        {
            QLOG_TRACE() << "Here's a" << QString::fromUtf8("trace") << "message";
            QLOG_DEBUG() << "Here's a" << static_cast<int>(QsLogging::DebugLevel) << "message";
            QLOG_INFO() << "Program started";
            QLOG_INFO() << "Built with Qt" << QT_VERSION_STR << "running on" << qVersion();
            QLOG_WARN() << "Uh-oh!";        
            QLOG_ERROR() << "An error has occurred";
            QLOG_FATAL() << "Fatal error!";
        }
        qDebug() << "写入完毕";
        QsLogging::Logger::destroyInstance();   //释放
    
        return a.exec();
    }

    【配置】

    1、生成dll、lib

    git上下载后,用Qt打开 QsLogSharedLibrary.pro

    Debug模式下,运行一次(若失败,取消影子构建),将dll和lib拷贝出来。防止Release时覆盖,因为名字一样。

    Release模式下再来一次,将dll和lib拷贝出来。

    将所有的h文件拷贝出来。我放到了C盘,如下图

     

     2、配置环境

    系统环境变量中添加存有dll的目录

     VS新建项目后,把include和lib配置好即可

     

     

    【参考】

    (5条消息) Qt轻量级日志库QsLog的使用_百里杨的博客-CSDN博客_qt 日志库

  • 相关阅读:
    20161101学习笔记
    20161031学习笔记
    20161028学习笔记
    20161027学习笔记
    ReentrantLock Condition
    ReentrantLock 重入锁
    CountDownLatch用法与原理
    场景化解释 AQS原理
    Atomic
    多线程工具类
  • 原文地址:https://www.cnblogs.com/xixixing/p/15950100.html
Copyright © 2020-2023  润新知