SA_Logger
Sapphire's Suite's C++ Logger.
Loading...
Searching...
No Matches
ALogStream.hpp
Go to the documentation of this file.
1// Copyright (c) 2023 Sapphire's Suite. All Rights Reserved.
2
3#pragma once
4
5#ifndef SAPPHIRE_LOGGER_ALOG_STREAM_GUARD
6#define SAPPHIRE_LOGGER_ALOG_STREAM_GUARD
7
10
23namespace SA
24{
27 {
28 protected:
34 virtual void Output(const Log& _log) = 0;
35
36 public:
39
41 uint8_t levelFlags = +LogLevel::Default;
42
44 virtual ~ALogStream() = default;
45
52 void ProcessLog(const Log& _log, bool _bForce = false);
53
57 virtual void Flush();
58
66 ALogStream& operator<<(const Log& _log);
67 };
68}
69
70
73#endif // GUARD
Log type implementation.
Channel filter implementation.
Abstract log stream class.
Definition ALogStream.hpp:27
virtual ~ALogStream()=default
Default virtual destructor.
virtual void Output(const Log &_log)=0
Output a log in stream.
ALogStream & operator<<(const Log &_log)
Output log operator.
void ProcessLog(const Log &_log, bool _bForce=false)
Process a log to output in stream.
LogChannelFilter channelFilter
Channel filter used for log in stream.
Definition ALogStream.hpp:38
virtual void Flush()
Force the stream to flush.
uint8_t levelFlags
Level filter used for log in stream.
Definition ALogStream.hpp:41
Definition LogChannelFilter.hpp:31
Log type implementation.
Definition Log.hpp:25