aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/Appender.h
diff options
context:
space:
mode:
authorCarbenium <keresztesschmidt@gmail.com>2015-03-18 02:59:40 +0100
committerCarbenium <keresztesschmidt@gmail.com>2015-03-18 02:59:40 +0100
commit03176662d10d6068df035b355eb4c47ddd4e1dde (patch)
tree71137697bad6bbc4b21259808ddde5739ae0025a /src/server/shared/Logging/Appender.h
parent301ec0be564a4f160984dc5e34ab5468464dc76e (diff)
Merge pull request #14317 from Naios/typesafelog
Type safe logging (cherry picked from commit cc0c9add5a3f3a17e19029ddcaa7e711040f4fc5) Conflicts: src/server/bnetserver/CMakeLists.txt src/server/game/Server/WorldSocketMgr.cpp src/server/shared/Logging/AppenderDB.cpp src/server/worldserver/CMakeLists.txt
Diffstat (limited to 'src/server/shared/Logging/Appender.h')
-rw-r--r--src/server/shared/Logging/Appender.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h
index 6f38eb6aaf7..38c45b3bcf1 100644
--- a/src/server/shared/Logging/Appender.h
+++ b/src/server/shared/Logging/Appender.h
@@ -21,6 +21,7 @@
#include <unordered_map>
#include <string>
#include <time.h>
+#include <type_traits>
#include "Define.h"
// Values assigned have their equivalent in enum ACE_Log_Priority
@@ -57,16 +58,16 @@ enum AppenderFlags
struct LogMessage
{
- LogMessage(LogLevel _level, std::string const& _type, std::string const& _text)
- : level(_level), type(_type), text(_text), mtime(time(NULL))
+ LogMessage(LogLevel _level, std::string const& _type, std::string&& _text)
+ : level(_level), type(_type), text(std::forward<std::string>(_text)), mtime(time(NULL))
{ }
static std::string getTimeStr(time_t time);
std::string getTimeStr();
- LogLevel level;
- std::string type;
- std::string text;
+ LogLevel const level;
+ std::string const type;
+ std::string const text;
std::string prefix;
std::string param1;
time_t mtime;
@@ -91,11 +92,11 @@ class Appender
AppenderFlags getFlags() const;
void setLogLevel(LogLevel);
- void write(LogMessage& message);
+ void write(LogMessage* message);
static const char* getLogLevelString(LogLevel level);
private:
- virtual void _write(LogMessage const& /*message*/) = 0;
+ virtual void _write(LogMessage const* /*message*/) = 0;
uint8 id;
std::string name;