1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
#include "Appender.h"
#include "Common.h"
std::string LogMessage::getTimeStr(time_t time)
{
tm* aTm = localtime(&time);
char buf[20];
snprintf(buf, 20, "%04d-%02d-%02d_%02d:%02d:%02d", aTm->tm_year+1900, aTm->tm_mon+1, aTm->tm_mday, aTm->tm_hour, aTm->tm_min, aTm->tm_sec);
return std::string(buf);
}
std::string LogMessage::getTimeStr()
{
return getTimeStr(mtime);
}
Appender::Appender(uint8 _id, std::string const& _name, AppenderType _type /* = APPENDER_NONE*/, LogLevel _level /* = LOG_LEVEL_DISABLED */):
id(_id), name(_name), type(_type), level(_level)
{
}
Appender::~Appender()
{
}
uint8 Appender::getId() const
{
return id;
}
std::string const& Appender::getName() const
{
return name;
}
AppenderType Appender::getType() const
{
return type;
}
LogLevel Appender::getLogLevel() const
{
return level;
}
void Appender::setLogLevel(LogLevel _level)
{
level = _level;
}
void Appender::write(LogMessage& message)
{
if (level && level <= message.level)
_write(message);
//else fprintf(stderr, "Appender::write: Appender %s, Level %s. Msg %s Level %s Type %s WRONG LEVEL MASK\n", getName().c_str(), getLogLevelString(level), message.text.c_str(), getLogLevelString(message.level), getLogFilterTypeString(message.type)); // DEBUG - RemoveMe
}
const char* Appender::getLogLevelString(LogLevel level)
{
switch (level)
{
case LOG_LEVEL_FATAL:
return "FATAL";
case LOG_LEVEL_ERROR:
return "ERROR";
case LOG_LEVEL_WARN:
return "WARN";
case LOG_LEVEL_INFO:
return "INFO";
case LOG_LEVEL_DEBUG:
return "DEBUG";
case LOG_LEVEL_TRACE:
return "TRACE";
default:
return "DISABLED";
}
}
char const* Appender::getLogFilterTypeString(LogFilterType type)
{
switch (type)
{
case LOG_FILTER_GENERAL:
return "GENERAL";
case LOG_FILTER_UNITS:
return "UNITS";
case LOG_FILTER_PETS:
return "PETS";
case LOG_FILTER_VEHICLES:
return "VEHICLES";
case LOG_FILTER_TSCR:
return "TSCR";
case LOG_FILTER_DATABASE_AI:
return "DATABASE_AI";
case LOG_FILTER_MAPSCRIPTS:
return "MAPSCRIPTS";
case LOG_FILTER_NETWORKIO:
return "NETWORKIO";
case LOG_FILTER_SPELLS_AURAS:
return "SPELLS_AURAS";
case LOG_FILTER_ACHIEVEMENTSYS:
return "ACHIEVEMENTSYS";
case LOG_FILTER_CONDITIONSYS:
return "CONDITIONSYS";
case LOG_FILTER_POOLSYS:
return "POOLSYS";
case LOG_FILTER_AUCTIONHOUSE:
return "AUCTIONHOUSE";
case LOG_FILTER_BATTLEGROUND:
return "BATTLEGROUND";
case LOG_FILTER_OUTDOORPVP:
return "OUTDOORPVP";
case LOG_FILTER_CHATSYS:
return "CHATSYS";
case LOG_FILTER_LFG:
return "LFG";
case LOG_FILTER_MAPS:
return "MAPS";
case LOG_FILTER_PLAYER:
return "PLAYER";
case LOG_FILTER_PLAYER_LOADING:
return "PLAYER_LOADING";
case LOG_FILTER_PLAYER_ITEMS:
return "PLAYER_ITEMS";
case LOG_FILTER_PLAYER_SKILLS:
return "PLAYER_SKILLS";
case LOG_FILTER_PLAYER_CHATLOG:
return "PLAYER_CHATLOG";
case LOG_FILTER_LOOT:
return "LOOT";
case LOG_FILTER_GUILD:
return "GUILD";
case LOG_FILTER_TRANSPORTS:
return "TRANSPORTS";
case LOG_FILTER_SQL:
return "SQL";
case LOG_FILTER_GMCOMMAND:
return "GMCOMMAND";
case LOG_FILTER_REMOTECOMMAND:
return "REMOTECOMMAND";
case LOG_FILTER_WARDEN:
return "WARDEN";
case LOG_FILTER_AUTHSERVER:
return "AUTHSERVER";
case LOG_FILTER_WORLDSERVER:
return "WORLDSERVER";
case LOG_FILTER_GAMEEVENTS:
return "GAMEEVENTS";
default:
break;
}
return "???";
}
|