16,203
社区成员
发帖
与我相关
我的任务
分享
#ifndef LOGUTIL_H
#define LOGUTIL_H
#include <QDir>
#include "QsLog.h"
class LogUtil: public QObject
{
Q_OBJECT
public:
static QString getCurrentLogName(){return currentLogFileName ;}
static void setCurrentLogName(QString fileName);
static void createLogFile(QString fileName);
static int getLogSize(QString fileName);
static void log(QString dateTime,QString eventStatus,QString logMsg,QString connectDevice,QString DeviceIp,QString remark);
private:
LogUtil(){}
static QString currentLogFileName;
};
#endif // LOGUTIL_H
#include <QObject>
#include "LogUtil.h"
#include "QsLog.h"
#include "QsLogDest.h"
void LogUtil::setCurrentLogName(QString fileName)
{
LogUtil::currentLogFileName = fileName ;
}
int LogUtil::getLogSize(QString fileName){
int size = 0;
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly))
{
return 1;
}
size = file.size();
file.close();
return size;
}
void LogUtil::createLogFile(QString fileName)
{
QsLogging::Logger& logger = QsLogging::Logger::instance();
logger.setLoggingLevel(QsLogging::TraceLevel);
//const QString sLogPath(QDir(Settings::SavePath()).path()+"/log/"+fileName);
QString dirPath = "e:/upload";
const QString sLogPath(QDir(dirPath.append("/log/")).path()+fileName);
QsLogging::DestinationPtr fileDestination( QsLogging::DestinationFactory::MakeFileDestination(sLogPath) );
QsLogging::DestinationPtr debugDestination(QsLogging::DestinationFactory::MakeDebugOutputDestination() );
logger.addDestination(debugDestination.get());
logger.addDestination(fileDestination.get());
QString currentFileName = "e:/upload";
currentFileName.append("/log/").append(fileName);
setCurrentLogName(currentFileName);
}
void LogUtil::log(QString dateTime, QString eventStatus, QString logMsg, QString connectDevice, QString DeviceIp, QString remark)
{
QLOG_INFO()<<" dateTime:" +dateTime +" eventStatus: " +eventStatus+" LogMsg: "+logMsg+" connentDevice: "+connectDevice+" DeviceIp: "+DeviceIp+" remark:"+remark;
}