資源簡介
基于log4j進行移植到qt上使用的一個日志系統(tǒng),log4qt是一個開源的C++日志系統(tǒng)。

代碼片段和文件信息
#include?“qblog4qt.h“
#include?
#include?
#include?
#include?
#include?
QBLog4Qt::QBLog4Qt(Qobject?*parent)?:
????Qobject(parent)
{
????QDir?mkdir(QStandardPaths::writableLocation(QStandardPaths::DataLocation));
????if(!mkdir.exists())?mkdir.mkdir(QStandardPaths::writableLocation(QStandardPaths::DataLocation));
????//:/Users/Dione/AppData/Local/log4Test/log4qt.log
????QString?outpath?=?QStandardPaths::writableLocation(QStandardPaths::DataLocation)?+?“/log4qt.log“;
????QString?configPath?=?QApplication::applicationDirPath()?+?“/log4qt.conf“;
????if(!QFile::exists(configPath)){//不存在配置文件?創(chuàng)建默認(rèn)配配置文件
????????QSettings?configSet(configPathQSettings::IniFormat);
????????configSet.setIniCodec(“UTF-8“);
????????configSet.setValue(“l(fā)og4j.rootLogger“QStringList()<<“INFO“<<“rollingFile“);
????????configSet.setValue(“l(fā)og4j.additivity.org.apache““true“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile““Log4Qt::RollingFileAppender“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.ImmediateFlush““true“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.AppendFile““true“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.File“outpath);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.MaxFileSize““4096KB“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.MaxBackupIndex““50“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.layout““Log4Qt::PatternLayout“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.layout.ConversionPattern““[%p]?%d?-->?%m?%n%n“);
????????configSet.sync();
????}else{//?存在修改日志保存路徑
????????QSettings?configSet(configPathQSettings::IniFormat);
????????configSet.setIniCodec(“UTF-8“);
????????configSet.setValue(“l(fā)og4j.appender.rollingFile.File“outpath);
????????configSet.sync();
????}
????Log4Qt::PropertyConfigurator::configure(configPath);
????logger()->info(“start?used?log4qt!“);
}
QBLog4Qt::~QBLog4Qt()
{
????logger()->info(“stop?used?log4qt!“);
}
QBLog4Qt?*QBLog4Qt::instance()
{
????static?QBLog4Qt?obj;
????return?&obj;
}
QBLog4Helper::QBLog4Helper(const?char?*fileName?int?lineNumber?const?char?*functionName)
???????:?version(1)
????????line(lineNumber)
????????file(fileName)
????????function(functionName)
{
}
void?QBLog4Helper::writelogToLocal(QBLog4Helper::LogType?logtype?const?QString?&log)
{
????QString?threadText?=?QStringLiteral(“0x%1“).arg(quintptr(QThread::currentThreadId()));
????QString?filter?=?QString(“[file(%1)]?[func(%2)?line(%3)?pid(%4)]?“).arg(file).arg(function).arg(line).arg(threadText);
????switch?(logtype)?{
????case?LGDebugMsg:?QBLog4Qt::instance()->debug(filter+log);
????????break;
????case?LGInfoMsg:?QBLog4Qt::instance()->info(filter+log);
????????break;
????case?LGWarningMsg:?QBLog4Qt::instance()->warn(filter+log);
????????break;
????case?LGErrorMsg:?QBLog4Qt::instance()->error(filter+log);
????????break;
????case?L
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3956??2018-08-30?08:54??log4Qt\log4Qt\log4qt\appender.h
?????文件???????7135??2018-08-30?08:54??log4Qt\log4Qt\log4qt\appenderskeleton.cpp
?????文件???????7188??2018-08-30?08:54??log4Qt\log4Qt\log4qt\appenderskeleton.h
?????文件???????3327??2018-08-30?08:54??log4Qt\log4Qt\log4qt\basicconfigurator.cpp
?????文件???????2547??2018-08-30?08:54??log4Qt\log4Qt\log4qt\basicconfigurator.h
?????文件???????5149??2018-08-30?08:54??log4Qt\log4Qt\log4qt\consoleappender.cpp
?????文件???????4863??2018-08-30?08:54??log4Qt\log4Qt\log4qt\consoleappender.h
?????文件??????12308??2018-08-30?08:54??log4Qt\log4Qt\log4qt\dailyrollingfileappender.cpp
?????文件???????6687??2018-08-30?08:54??log4Qt\log4Qt\log4qt\dailyrollingfileappender.h
?????文件???????8957??2018-08-30?08:54??log4Qt\log4Qt\log4qt\fileappender.cpp
?????文件???????7499??2018-08-30?08:54??log4Qt\log4Qt\log4qt\fileappender.h
?????文件???????3121??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\classlogger.cpp
?????文件???????3525??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\classlogger.h
?????文件???????3877??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\configuratorhelper.cpp
?????文件???????7024??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\configuratorhelper.h
?????文件???????9465??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\datetime.cpp
?????文件???????6836??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\datetime.h
?????文件??????16336??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\factory.cpp
?????文件??????17604??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\factory.h
?????文件???????5556??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\initialisation
?????文件??????18067??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\initialisation
?????文件???????9703??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\logerror.cpp
?????文件??????17114??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\logerror.h
?????文件???????2113??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\logob
?????文件???????6087??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\logob
?????文件???????1944??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\logob
?????文件???????5091??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\logob
?????文件??????10185??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\optionconverter.cpp
?????文件???????5831??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\optionconverter.h
?????文件??????26107??2018-08-30?08:54??log4Qt\log4Qt\log4qt\helpers\patternformatter.cpp
............此處省略72個文件信息
評論
共有 條評論