ACF $AcfVersion:0$
CLoggerBase.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <istd/ILogger.h>
7#include <ilog/ILoggable.h>
8
9
10namespace ilog
11{
12
13
14class IMessageConsumer;
15
16
89 virtual public ILoggable,
90 virtual protected istd::ILogger
91{
92public:
100
101 // reimplemented (ilog::ILoggable)
102 virtual void SetLogPtr(ilog::IMessageConsumer* logPtr) override;
103 virtual ilog::IMessageConsumer* GetLogPtr() const override;
104
105protected:
114 int id,
115 const QString& message,
116 const QString& messageSource = QString(),
117 int flags = 0) const;
118
127 int id,
128 const QString& message,
129 const QString& messageSource = QString(),
130 int flags = 0) const;
131
140 int id,
141 const QString& message,
142 const QString& messageSource = QString(),
143 int flags = 0) const;
144
153 int id,
154 const QString& message,
155 const QString& messageSource = QString(),
156 int flags = 0) const;
157
167 int id,
168 const QString& message,
169 const QString& messageSource = QString(),
170 int flags = 0) const;
171
181 int id,
182 const QString& message,
183 const QString& messageSource = QString(),
184 int flags = 0) const;
185
195 int id,
196 const QString& message,
197 const QString& messageSource = QString(),
198 int flags = 0) const;
199
209 int id,
210 const QString& message,
211 const QString& messageSource = QString(),
212 int flags = 0) const;
213
219 bool SendUserMessage(const istd::IInformationProvider* messagePtr) const;
220
227
232 virtual void DecorateMessage(
234 int id,
235 int flags,
236 QString& message,
237 QString& messageSource) const override;
238
239 // reimplemented (istd::ILogger)
240 virtual bool IsLogConsumed(
242 const int* flagsPtr = NULL) const override;
243 virtual bool SendLogMessage(
245 int id,
246 const QString& message,
247 const QString& messageSource,
248 int flags = 0) const override;
249
250protected:
251 mutable QSet<int> m_onceMessageIds;
252
253private:
254 ilog::IMessageConsumer* m_logPtr;
255};
256
257
258} // namespace ilog
259
260
261
262
Base class for objects that need logging functionality.
Definition CLoggerBase.h:91
bool SendCriticalMessageOnce(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send once critical message to log.
virtual ilog::IMessageConsumer * GetLogPtr() const override
Get the currently attached message consumer.
bool SendWarningMessageOnce(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send once warning message to log.
bool AllowMessageOnceAgain(int id)
Reset message lock.
CLoggerBase()
Default constructor.
bool SendCriticalMessage(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send critical message to log.
virtual bool SendLogMessage(istd::IInformationProvider::InformationCategory category, int id, const QString &message, const QString &messageSource, int flags=0) const override
Send any message to log.
bool SendErrorMessage(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send error message to log.
QSet< int > m_onceMessageIds
virtual void DecorateMessage(istd::IInformationProvider::InformationCategory category, int id, int flags, QString &message, QString &messageSource) const override
Decorate message parts before outputting.
bool SendInfoMessage(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send info message to log.
virtual bool IsLogConsumed(const istd::IInformationProvider::InformationCategory *categoryPtr=NULL, const int *flagsPtr=NULL) const override
Check if any log message is consumed.
bool SendErrorMessageOnce(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send once error message to log.
bool SendInfoMessageOnce(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send once info message to log.
bool SendWarningMessage(int id, const QString &message, const QString &messageSource=QString(), int flags=0) const
Send warning message to log.
virtual void SetLogPtr(ilog::IMessageConsumer *logPtr) override
Attach a message consumer for logging.
bool SendUserMessage(const istd::IInformationProvider *messagePtr) const
Send message with user object.
Interface for objects that support logging functionality.
Definition ILoggable.h:47
Common interface for a message container consuming information objects (messages).
Common interface for class providing some basic information object.
InformationCategory
Category of information.
Common interface for classes sending some log info.
Definition ILogger.h:23
#define NULL
Definition istd.h:74
This namespace contains implementations for the logging functionality.