Diarkis C++Client Library API Document
DelegateLogger.h
Go to the documentation of this file.
1 // © 2019-2024 Diarkis Inc. All rights reserved.
2 
3 #pragma once
4 
5 #include <atomic>
6 #include "diarkis/common.h"
9 
10 using namespace Diarkis;
11 
19 {
20  public:
21  DelegateLogger(const Diarkis::StdString& categrory, const Diarkis::StdString& type, DiarkisLoggerSeverity severity, bool addInfoPrefix = true);
22  virtual ~DelegateLogger();
23  const Diarkis::StdString GetCategory() override;
24  DiarkisLoggerSeverity GetSeverity() override;
25  void SetSeverity(DiarkisLoggerSeverity inSeverity) override;
26  void SetServerType(const StdString& type) override;
27  size_t GetTraceOutputBytes() override;
28  void SetTraceOutputBytes(size_t bytes) override;
29  void Log(DiarkisLoggerSeverity severity, const Diarkis::StdString& message, bool includeNewLine = true) override;
30  void AttachLoggerBackend(std::shared_ptr<ILoggerBackend> loggerBackend);
31 
32  private:
33  const Diarkis::StdString categrory_;
34  Diarkis::StdString serverType_;
35  std::atomic<DiarkisLoggerSeverity> severity_;
36  const bool addInfoPrefix_;
37  std::shared_ptr<ILoggerBackend> loggerBackend_;
38  std::atomic<size_t> traceOutBytes_;
39 };
SeverityToString
const char * SeverityToString(DiarkisLoggerSeverity severity)
Definition: helpers.cpp:19
LoggerFactory::~LoggerFactory
virtual ~LoggerFactory()
Definition: LoggerFactory.cpp:72
Diarkis::DiarkisLoggerSeverity
DiarkisLoggerSeverity
Log severity level.
Definition: Logger.h:40
ThreadedLoggerBackend.h
LoggerFactory::SetSeverity
void SetSeverity(DiarkisLoggerSeverity severity)
Definition: LoggerFactory.cpp:157
DelegateLogger
Class for managing logs per category.
Definition: DelegateLogger.h:18
DelegateLogger::Log
void Log(DiarkisLoggerSeverity severity, const Diarkis::StdString &message, bool includeNewLine=true) override
Log output.
Definition: DelegateLogger.cpp:51
string.h
Diarkis::IDiarkisLogger
Interface class for manipulating logging functions.
Definition: Logger.h:69
LoggerFactory::CreateLogger
std::shared_ptr< IDiarkisLogger > CreateLogger(const Diarkis::StdString &category) override
Definition: LoggerFactory.cpp:102
DelegateLogger::GetSeverity
DiarkisLoggerSeverity GetSeverity() override
Get the current log severity.
Definition: DelegateLogger.cpp:26
Diarkis::StdString
Definition: common.h:432
DelegateLogger::SetSeverity
void SetSeverity(DiarkisLoggerSeverity inSeverity) override
Set new log severity.
Definition: DelegateLogger.cpp:31
Logger.h
LoggerBackend.h
Diarkis::StdVector< uint8_t >
LoggerFactory::ClearLoggers
void ClearLoggers()
Definition: LoggerFactory.cpp:193
DelegateLogger::GetCategory
const Diarkis::StdString GetCategory() override
Get log category.
Definition: DelegateLogger.cpp:21
LoggerFactory::LogCryptoCredentials
void LogCryptoCredentials(const Diarkis::StdVector< uint8_t > &key, const Diarkis::StdVector< uint8_t > &iv, const Diarkis::StdVector< uint8_t > &macKey)
Definition: LoggerFactory.cpp:80
DelegateLogger::~DelegateLogger
virtual ~DelegateLogger()
Definition: DelegateLogger.cpp:17
DelegateLogger::AttachLoggerBackend
void AttachLoggerBackend(std::shared_ptr< ILoggerBackend > loggerBackend)
Definition: DelegateLogger.cpp:91
LoggerFactory::LoggerFactory
LoggerFactory(const Diarkis::StdString &uid, std::shared_ptr< ILoggerBackend > loggerBackend)
Constructor of LoggerFactory.
Definition: LoggerFactory.cpp:15
DelegateLogger::GetTraceOutputBytes
size_t GetTraceOutputBytes() override
Get the current maximum size of the payload to be dumped at DiarkisLoggerSeverity::Trace log level.
Definition: DelegateLogger.cpp:46
helpers.h
DelegateLogger::SetTraceOutputBytes
void SetTraceOutputBytes(size_t bytes) override
Specifies the maximum size of the payload to be dumped at DiarkisLoggerSeverity::Trace log level.
Definition: DelegateLogger.cpp:41
Diarkis
Definition: commands.h:9
LoggerFactory::SetServerType
void SetServerType(const Diarkis::StdString &type)
Definition: LoggerFactory.cpp:165
DiarkisInterfaceBase.h
DelegateLogger::DelegateLogger
DelegateLogger(const Diarkis::StdString &categrory, const Diarkis::StdString &type, DiarkisLoggerSeverity severity, bool addInfoPrefix=true)
Definition: DelegateLogger.cpp:11
DIARKIS_TRACEOUTPUT_DEFAULT
#define DIARKIS_TRACEOUTPUT_DEFAULT
Definition: Logger.h:28
common.h
DelegateLogger.h
DelegateLogger::SetServerType
void SetServerType(const StdString &type) override
Configure a server type to be included in log output.
Definition: DelegateLogger.cpp:36
DEFAULT_SEVERITY
constexpr DiarkisLoggerSeverity DEFAULT_SEVERITY
Definition: LoggerFactory.cpp:13
LoggerFactory::SetTraceOutputBytes
void SetTraceOutputBytes(size_t bytes)
Definition: LoggerFactory.cpp:185
FileLoggerBackend.h
Diarkis::StdStringStream
StdBasicStringStream< char > StdStringStream
Definition: common.h:503