diff --git a/src/blackmisc/filelogger.cpp b/src/blackmisc/filelogger.cpp index 0075b6c08..2583a2515 100644 --- a/src/blackmisc/filelogger.cpp +++ b/src/blackmisc/filelogger.cpp @@ -21,7 +21,6 @@ namespace BlackMisc CFileLogger::CFileLogger(const QString &applicationName, const QString &logPath, QObject *parent) : QObject(parent), - m_logSubscriber(this, &CFileLogger::ps_writeStatusMessageToFile), m_logFile(this), m_applicationName(applicationName), m_logPath(logPath) @@ -34,6 +33,9 @@ namespace BlackMisc m_stream.setDevice(&m_logFile); m_stream.setCodec("UTF-8"); writeHeaderToFile(); + + connect(CLogHandler::instance(), &CLogHandler::localMessageLogged, this, &CFileLogger::ps_writeStatusMessageToFile); + connect(CLogHandler::instance(), &CLogHandler::remoteMessageLogged, this, &CFileLogger::ps_writeStatusMessageToFile); } CFileLogger::~CFileLogger() @@ -45,13 +47,10 @@ namespace BlackMisc } } - void CFileLogger::changeLogPattern(const CLogPattern &pattern) - { - m_logSubscriber.changeSubscription(pattern); - } - void CFileLogger::ps_writeStatusMessageToFile(const BlackMisc::CStatusMessage &statusMessage) { + if (! m_logPattern.match(statusMessage)) { return; } + QString finalContent = QDateTime::currentDateTime().toString(QStringLiteral("hh:mm:ss ")); finalContent += statusMessage.getHumanReadableCategory(); finalContent += " "; diff --git a/src/blackmisc/filelogger.h b/src/blackmisc/filelogger.h index 54f52505e..64dddc308 100644 --- a/src/blackmisc/filelogger.h +++ b/src/blackmisc/filelogger.h @@ -45,8 +45,8 @@ namespace BlackMisc //! Destructor. ~CFileLogger(); - //! Change the log pattern. Call this method at least once to start logging - void changeLogPattern(const CLogPattern &pattern); + //! Change the log pattern. Default is to log all messages. + void changeLogPattern(const CLogPattern &pattern) { m_logPattern = pattern; } private slots: @@ -60,7 +60,7 @@ namespace BlackMisc void writeHeaderToFile(); void writeContentToFile(const QString &content); - CLogSubscriber m_logSubscriber; + CLogPattern m_logPattern; QFile m_logFile; QTextStream m_stream; QString m_applicationName;