aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Logging/LogOperation.h
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2015-03-11 10:06:24 +0100
committerNaios <naios-dev@live.de>2015-03-13 09:15:42 +0100
commit95ebe4f31cba6b4772cfd19f99da45039719807b (patch)
tree1cddae4f22eaf9ee6651dea46cdb42d9d39f6283 /src/server/shared/Logging/LogOperation.h
parenta860c62fed3a1670488cb256788c5efe4467c19a (diff)
Core/Log: Add type safe formatting
* improves safety and log speed through: - variadic templates - perfect forwarding * fixes a newline in db logs * improve performance of Appender::write by using std::ostringstream && std::move
Diffstat (limited to 'src/server/shared/Logging/LogOperation.h')
-rw-r--r--src/server/shared/Logging/LogOperation.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/shared/Logging/LogOperation.h b/src/server/shared/Logging/LogOperation.h
index b8655413273..ffdd35c3c09 100644
--- a/src/server/shared/Logging/LogOperation.h
+++ b/src/server/shared/Logging/LogOperation.h
@@ -18,23 +18,25 @@
#ifndef LOGOPERATION_H
#define LOGOPERATION_H
+#include <memory>
+
class Logger;
struct LogMessage;
class LogOperation
{
public:
- LogOperation(Logger const* _logger, LogMessage* _msg)
- : logger(_logger), msg(_msg)
+ LogOperation(Logger const* _logger, std::unique_ptr<LogMessage>&& _msg)
+ : logger(_logger), msg(std::forward<std::unique_ptr<LogMessage>>(_msg))
{ }
- ~LogOperation();
+ ~LogOperation() { }
int call();
protected:
Logger const* logger;
- LogMessage* msg;
+ std::unique_ptr<LogMessage> msg;
};
#endif