Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
Logger.cpp
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#include "Logger.h"
7
9
10void Logger::Create(std::string const& _name, LogLevel _level)
11{
12 name = _name;
13 level = _level;
14}
15
16std::string const& Logger::getName() const
17{
18 return name;
19}
20
22{
23 return level;
24}
25
27{
28 appenders[id] = appender;
29}
30
32{
33 appenders.erase(id);
34}
35
37{
38 level = _level;
39}
40
41void Logger::write(LogMessage& message) const
42{
43 if (level == LogLevel::LOG_LEVEL_DISABLED || level > message.level || message.text.empty())
44 {
45 //fprintf(stderr, "Logger::write: Logger %s, Level %u. Msg %s Level %u WRONG LEVEL MASK OR EMPTY MSG\n", getName().c_str(), message.level, message.text.c_str(), message.level); // DEBUG - RemoveMe
46 return;
47 }
48
49 for (AppenderMap::const_iterator it = appenders.begin(); it != appenders.end(); ++it)
50 if (it->second)
51 it->second->write(message);
52}
LogLevel
Definition Appender.h:16
@ LOG_LEVEL_DISABLED
Definition Appender.h:17
std::uint8_t uint8
Definition Define.h:79
void setLogLevel(LogLevel level)
Definition Logger.cpp:36
void addAppender(uint8 type, Appender *)
Definition Logger.cpp:26
void delAppender(uint8 type)
Definition Logger.cpp:31
void write(LogMessage &message) const
Definition Logger.cpp:41
LogLevel level
Definition Logger.h:27
AppenderMap appenders
Definition Logger.h:28
LogLevel getLogLevel() const
Definition Logger.cpp:21
Logger()
Definition Logger.cpp:8
void Create(std::string const &name, LogLevel level)
Definition Logger.cpp:10
std::string name
Definition Logger.h:26
std::string const & getName() const
Definition Logger.cpp:16
LogLevel level
Definition Appender.h:55
std::string text
Definition Appender.h:57