5#ifndef SAPPHIRE_LOGGER_LOGGER_BASE_GUARD
6#define SAPPHIRE_LOGGER_LOGGER_BASE_GUARD
86 template <
typename ExcepT>
101 template <
typename StreamT,
typename... Args>
113 template <
typename StreamT>
175#include <SA/Logger/LoggerBase.inl>
Log base stream implementation.
Default Exception type implementation.
LogLevel
All levels of logging.
Definition LogLevel.hpp:26
Abstract log stream class.
Definition ALogStream.hpp:27
Log type implementation.
Definition Log.hpp:25
Logger base class implementation.
Definition LoggerBase.hpp:29
virtual void DisableLogLevel(LogLevel _level)
Disable LogLevel for all registered streams.
virtual bool UnregisterStream(ALogStream *_stream)
Unregister a stream from output.
virtual void ProcessLog(const SA::Log &_log, bool _bForce=false)
Process log to output.
virtual void DisableLogChannel(const std::wstring &_channel)
Disable LogChannel for all registered streams.
void Assert(ExcepT _exc)
Process exception.
virtual void RegisterStream(ALogStream *_stream)
Register a stream to output.
virtual void EnableLogChannel(const std::wstring &_channel)
Enable LogChannel for all registered streams.
virtual void IncrementFrameNum()=0
Increment current registered frame number.
virtual ~LoggerBase()
Destructor Destroy all created log streams.
virtual void Log(SA::Log _log)
Push a new log in logger.
virtual void Flush()
Force logger to flush all streams.
virtual void EnableLogLevel(LogLevel _level)
Enable LogLevel for all registered streams.
bool DestroyStream(StreamT &_stream, bool _bFlush=true)
Destroy a previously created stream.
virtual uint32_t GetFrameNum() const =0
Get current registered frame number.
StreamT & CreateSteam(Args &&... _args)
Create a new stream to output in.
virtual void ClearStreams(bool _bFlush=true)
std::list< ALogStream * > mStreams
Registered output streams.
Definition LoggerBase.hpp:35