Chrysalis - Logging
Toggle main menu visibility
Loading...
Searching...
No Matches
LoggerRegistry.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_LOGGERREGISTRY_H
2
#define CHRYSALIS_LOGGERREGISTRY_H
3
4
#include <map>
5
#include <cstddef>
6
#include <forward_list>
7
8
#include "spdlog/pattern_formatter.h"
9
#include "spdlog/sinks/stdout_sinks.h"
10
#include "spdlog/sinks/basic_file_sink.h"
11
12
#include "
Logger.h
"
13
#include "
BaseConsoleUser.h
"
14
#include "
LoggingLibraryExport.h
"
15
#include "
BaseLoggerRegistryListener.h
"
16
17
namespace
Logging
{
18
class
LOGGING
LoggerRegistry
:
BaseConsoleUser
{
19
friend
class
BaseLoggerRegistryListener
;
20
public
:
21
explicit
LoggerRegistry
(
const
char
* loggingDirectory,
const
char
* fileName);
22
~LoggerRegistry
();
23
24
[[nodiscard]] std::vector<Logger*>::const_iterator
begin
()
const
;
25
[[nodiscard]] std::vector<Logger*>::const_iterator
end
()
const
;
26
27
[[nodiscard]]
size_t
size
()
const
;
28
29
[[nodiscard]]
Logger
*
at
(
int
i)
const
;
30
[[nodiscard]]
Logger
*
get
(
const
char
* name);
31
32
void
flush
()
const
;
33
34
[[nodiscard]]
const
std::string&
getFileName
()
const
;
35
[[nodiscard]]
const
std::string&
getLoggingDirectory
()
const
;
36
37
void
setFileName
(
const
std::string& fileName);
38
void
setLoggingDirectory
(
const
std::string& loggingDirectory);
39
private
:
40
void
addListener(
BaseLoggerRegistryListener
* listener);
41
42
std::string fileName_;
43
std::string loggingDirectory_;
44
45
std::vector<Logger*> loggers_;
46
std::map<const char*, Logger*> loggersMap_;
47
std::forward_list<BaseLoggerRegistryListener*> listeners_;
48
49
std::shared_ptr<spdlog::sinks::stdout_sink_mt> consoleSink_;
50
std::shared_ptr<spdlog::sinks::basic_file_sink_mt> commonFileSink_;
51
};
52
}
53
54
#endif
//CHRYSALIS_LOGGERREGISTRY_H
BaseConsoleUser.h
BaseLoggerRegistryListener.h
Logger.h
LoggingLibraryExport.h
LOGGING
#define LOGGING
Definition
LoggingLibraryExport.h:11
Logging::BaseConsoleUser::BaseConsoleUser
BaseConsoleUser()
Definition
BaseConsoleUser.cpp:10
Logging::LoggerRegistry::BaseLoggerRegistryListener
friend class BaseLoggerRegistryListener
Definition
LoggerRegistry.h:19
Logging::LoggerRegistry::getLoggingDirectory
const std::string & getLoggingDirectory() const
Definition
LoggerRegistry.cpp:58
Logging::LoggerRegistry::get
Logger * get(const char *name)
Definition
LoggerRegistry.cpp:85
Logging::LoggerRegistry::getFileName
const std::string & getFileName() const
Definition
LoggerRegistry.cpp:54
Logging::LoggerRegistry::size
size_t size() const
Definition
LoggerRegistry.cpp:42
Logging::LoggerRegistry::LoggerRegistry
LoggerRegistry(const char *loggingDirectory, const char *fileName)
Definition
LoggerRegistry.cpp:20
Logging::LoggerRegistry::setLoggingDirectory
void setLoggingDirectory(const std::string &loggingDirectory)
Definition
LoggerRegistry.cpp:71
Logging::LoggerRegistry::flush
void flush() const
Definition
LoggerRegistry.cpp:46
Logging::LoggerRegistry::begin
std::vector< Logger * >::const_iterator begin() const
Definition
LoggerRegistry.cpp:34
Logging::LoggerRegistry::end
std::vector< Logger * >::const_iterator end() const
Definition
LoggerRegistry.cpp:38
Logging::LoggerRegistry::at
Logger * at(int i) const
Definition
LoggerRegistry.cpp:81
Logging::LoggerRegistry::setFileName
void setFileName(const std::string &fileName)
Definition
LoggerRegistry.cpp:62
Logging::Logger
Definition
Logger.h:13
Logging
Definition
BaseConsoleUser.h:4
logging
include
LoggerRegistry.h
Generated by
1.17.0