#ifndef FILELOGGER_H #define FILELOGGER_H #include #include #include #include #include #include "logglobal.h" #include "logger.h" #include class DECLSPEC FileLogger : public Logger { Q_OBJECT Q_DISABLE_COPY(FileLogger) public: FileLogger(QSettings* settings, const int refreshInterval=10000, QObject* parent = nullptr); virtual ~FileLogger(); virtual void write(const LogMessage* logMessage); public slots: void timeOutToDelete(); protected: void timerEvent(QTimerEvent* event); private: QString fileName; long maxSize; int maxBackups; QSettings* settings; QFile* file; QBasicTimer refreshTimer; QBasicTimer flushTimer; QTimer *TimerDel; void open(); void close(); void rotate(); void refreshSettings(); bool removeDirectory(const QString &directoryPath); }; #endif // FILELOGGER_H