Legends-of-Azeroth-Pandaria-5.4.8

Форк
0
60 строк · 1.7 Кб
1
/*
2
* This file is part of the Pandaria 5.4.8 Project. See THANKS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17

18
#include "Logger.h"
19
#include "Appender.h"
20
#include "LogMessage.h"
21

22
Logger::Logger(std::string const& _name, LogLevel _level): name(_name), level(_level) { }
23

24
std::string const& Logger::getName() const
25
{
26
    return name;
27
}
28

29
LogLevel Logger::getLogLevel() const
30
{
31
    return level;
32
}
33

34
void Logger::addAppender(uint8 id, Appender* appender)
35
{
36
    appenders[id] = appender;
37
}
38

39
void Logger::delAppender(uint8 id)
40
{
41
    appenders.erase(id);
42
}
43

44
void Logger::setLogLevel(LogLevel _level)
45
{
46
    level = _level;
47
}
48

49
void Logger::write(LogMessage* message) const
50
{
51
    if (!level || level > message->level || message->text.empty())
52
    {
53
        //fprintf(stderr, "Logger::write: Logger %s, Level %u. Msg %s Level %u WRONG LEVEL MASK OR EMPTY MSG\n", getName().c_str(), getLogLevel(), message.text.c_str(), message.level);
54
        return;
55
    }
56

57
    for (std::pair<uint8 const, Appender*> const& appender : appenders)
58
        if (appender.second)
59
            appender.second->write(message);
60
}
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.