aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/Appender.h
diff options
context:
space:
mode:
authorFaq <ainarsh@gmail.com>2012-08-21 10:58:15 +0300
committerFaq <ainarsh@gmail.com>2012-08-21 10:58:15 +0300
commit291b0899c503bc7bf7d8463a984fd8b638867eda (patch)
tree7a76f1ec88a89adf5d79bf8e1ba670baa8d56745 /src/server/shared/Logging/Appender.h
parentc400923a1a96e458ca8b33b6979abc6b344cb41f (diff)
parent542521a026031764ddd98518e7f5bdab91bc0ebb (diff)
Merge remote-tracking branch 'upstream/master' into SpellMasks_0
Diffstat (limited to 'src/server/shared/Logging/Appender.h')
-rw-r--r--src/server/shared/Logging/Appender.h36
1 files changed, 30 insertions, 6 deletions
diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h
index 3105f0e6bb4..c0e03b13db1 100644
--- a/src/server/shared/Logging/Appender.h
+++ b/src/server/shared/Logging/Appender.h
@@ -58,10 +58,18 @@ enum LogFilterType
LOG_FILTER_AUTHSERVER,
LOG_FILTER_WORLDSERVER,
LOG_FILTER_GAMEEVENTS,
- LOG_FILTER_CALENDAR
+ LOG_FILTER_CALENDAR,
+ LOG_FILTER_CHARACTER,
+ LOG_FILTER_ARENAS,
+ LOG_FILTER_SQL_DRIVER,
+ LOG_FILTER_SQL_DEV,
+ LOG_FILTER_PLAYER_DUMP,
+ LOG_FILTER_BATTLEFIELD,
+ LOG_FILTER_SERVER_LOADING,
+ LOG_FILTER_OPCODES
};
-const uint8 MaxLogFilter = uint8(LOG_FILTER_CALENDAR) + 1;
+const uint8 MaxLogFilter = uint8(LOG_FILTER_OPCODES) + 1;
// Values assigned have their equivalent in enum ACE_Log_Priority
enum LogLevel
@@ -85,9 +93,22 @@ enum AppenderType
APPENDER_DB,
};
+enum AppenderFlags
+{
+ APPENDER_FLAGS_NONE = 0x00,
+ APPENDER_FLAGS_PREFIX_TIMESTAMP = 0x01,
+ APPENDER_FLAGS_PREFIX_LOGLEVEL = 0x02,
+ APPENDER_FLAGS_PREFIX_LOGFILTERTYPE = 0x04,
+ APPENDER_FLAGS_USE_TIMESTAMP = 0x08, // only used by FileAppender
+ APPENDER_FLAGS_MAKE_FILE_BACKUP = 0x10 // only used by FileAppender
+};
+
struct LogMessage
{
- LogMessage(LogLevel _level, LogFilterType _type, std::string _text): level(_level), type(_type), text(_text)
+ LogMessage(LogLevel _level, LogFilterType _type, std::string _text)
+ : level(_level)
+ , type(_type)
+ , text(_text)
{
mtime = time(NULL);
}
@@ -98,20 +119,22 @@ struct LogMessage
LogLevel level;
LogFilterType type;
std::string text;
- uint32 param1;
+ std::string prefix;
+ std::string param1;
time_t mtime;
};
class Appender
{
public:
- Appender(uint8 _id, std::string const& name, AppenderType type = APPENDER_NONE, LogLevel level = LOG_LEVEL_DISABLED);
+ Appender(uint8 _id, std::string const& name, AppenderType type = APPENDER_NONE, LogLevel level = LOG_LEVEL_DISABLED, AppenderFlags flags = APPENDER_FLAGS_NONE);
virtual ~Appender();
uint8 getId() const;
std::string const& getName() const;
AppenderType getType() const;
LogLevel getLogLevel() const;
+ AppenderFlags getFlags() const;
void setLogLevel(LogLevel);
void write(LogMessage& message);
@@ -119,12 +142,13 @@ class Appender
static const char* getLogFilterTypeString(LogFilterType type);
private:
- virtual void _write(LogMessage& /*message*/) {};
+ virtual void _write(LogMessage& /*message*/) = 0;
uint8 id;
std::string name;
AppenderType type;
LogLevel level;
+ AppenderFlags flags;
};
typedef std::map<uint8, Appender*> AppenderMap;