29#include <sptk5/DateTime.h>
30#include <sptk5/LogPriority.h>
31#include <sptk5/Logger.h>
32#include <sptk5/threads/SynchronizedQueue.h>
36#include <sptk5/threads/Thread.h>
68 virtual void saveMessage(
const Logger::UMessage& message) = 0;
145 return m_minPriority;
165 void log(Logger::UMessage& message);
176 mutable SharedMutex m_mutex;
188 using MessageQueue = SynchronizedQueue<Logger::UMessage>;
192 MessageQueue m_messages;
Definition: LogEngine.h:60
void priority(LogPriority prt)
Definition: LogEngine.h:122
void threadFunction() override
static String priorityName(LogPriority prt)
virtual LogPriority minPriority() const
Definition: LogEngine.h:143
void options(int ops)
Definition: LogEngine.h:97
virtual void saveMessage(const Logger::UMessage &message)=0
LogEngine(const String &logEngineName)
void option(int options, bool flag)
size_t options() const
Definition: LogEngine.h:106
void log(Logger::UMessage &message)
static LogPriority priorityFromName(const String &prt)
virtual void minPriority(LogPriority prt)
Definition: LogEngine.h:133
~LogEngine() noexcept override
A log that sends all the log messages into another log.
Definition: Logger.h:53
constexpr int LO_DATE
Print date for every log message.
Definition: LogEngine.h:47
constexpr int LO_ENABLE
Enable logging (doesn't affect stdout if CLO_STDOUT is on)
Definition: LogEngine.h:50
LogPriority
Log message priority.
Definition: LogPriority.h:68
constexpr int LO_TIME
Print time for every log message.
Definition: LogEngine.h:48
constexpr int LO_PRIORITY
Print message priority.
Definition: LogEngine.h:49
constexpr int LO_STDOUT
Duplicate messages to stdout.
Definition: LogEngine.h:46