diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2008-09-29 22:37:25 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2008-09-29 22:37:25 +0200 |
commit | d90eb49281efcf2db039fbaacccebd4acdc15f7f (patch) | |
tree | ed589a44f7b3190ef4bdc0a77047a51dd7dba9e6 /src | |
parent | 2919e527e3e2c0bbdd35afe28c7da4b041ca25f1 (diff) | |
download | mad-d90eb49281efcf2db039fbaacccebd4acdc15f7f.tar mad-d90eb49281efcf2db039fbaacccebd4acdc15f7f.zip |
Einige Fehler am RemoteLogger behoben
Diffstat (limited to 'src')
-rw-r--r-- | src/Common/RemoteLogger.cpp | 2 | ||||
-rw-r--r-- | src/Core/RequestHandlers/LogRequestHandler.cpp | 3 | ||||
-rw-r--r-- | src/Net/Packets/LogPacket.cpp | 3 | ||||
-rw-r--r-- | src/Net/Packets/LogPacket.h | 4 |
4 files changed, 9 insertions, 3 deletions
diff --git a/src/Common/RemoteLogger.cpp b/src/Common/RemoteLogger.cpp index ea471bf..7742ee5 100644 --- a/src/Common/RemoteLogger.cpp +++ b/src/Common/RemoteLogger.cpp @@ -25,6 +25,8 @@ namespace Mad { namespace Common { +std::list<RemoteLogger*> RemoteLogger::remoteLoggers; + void RemoteLogger::log(MessageCategory category, MessageLevel level, time_t messageTimestamp, const std::string &message, const std::string &messageSource) { for(std::list<Common::RemoteLogger*>::iterator remoteLogger = remoteLoggers.begin(); remoteLogger != remoteLoggers.end(); ++remoteLogger) { diff --git a/src/Core/RequestHandlers/LogRequestHandler.cpp b/src/Core/RequestHandlers/LogRequestHandler.cpp index 1366710..5640159 100644 --- a/src/Core/RequestHandlers/LogRequestHandler.cpp +++ b/src/Core/RequestHandlers/LogRequestHandler.cpp @@ -19,6 +19,7 @@ #include "LogRequestHandler.h" #include <Common/Logger.h> +#include <Common/RemoteLogger.h> #include <Net/Connection.h> #include <Net/Packets/ErrorPacket.h> #include <Net/Packets/LogPacket.h> @@ -39,7 +40,7 @@ void LogRequestHandler::handlePacket(Net::Connection *connection, const Net::Pac // TODO Require authentication Net::Packets::LogPacket logPacket(packet); - Common::Logger::log(logPacket.getCategory(), logPacket.getLevel(), logPacket.getMessage().c_str()); + Common::RemoteLogger::log(logPacket.getCategory(), logPacket.getLevel(), logPacket.getTimestamp(), logPacket.getMessage().c_str(), std::string()); connection->send(Net::Packet(Net::Packet::OK, packet.getRequestId())); diff --git a/src/Net/Packets/LogPacket.cpp b/src/Net/Packets/LogPacket.cpp index fbe59cd..1d6ee88 100644 --- a/src/Net/Packets/LogPacket.cpp +++ b/src/Net/Packets/LogPacket.cpp @@ -18,7 +18,6 @@ */ #include "LogPacket.h" -#include <ctime> namespace Mad { namespace Net { @@ -32,7 +31,7 @@ LogPacket::LogPacket(Type type, uint16_t requestId, Common::Logger::MessageCateg logData->category = htons(category); logData->level = htons(level); - logData->messageTimestamp = htons(messageTimestamp); + logData->messageTimestamp = htonl(messageTimestamp); std::memcpy(logData->message, message.c_str(), message.length()); } diff --git a/src/Net/Packets/LogPacket.h b/src/Net/Packets/LogPacket.h index dd406b4..040f21a 100644 --- a/src/Net/Packets/LogPacket.h +++ b/src/Net/Packets/LogPacket.h @@ -69,6 +69,10 @@ class LogPacket : public Packet { return (Common::Logger::MessageLevel)ntohs(logData->level); } + time_t getTimestamp() const { + return (time_t)ntohl(logData->messageTimestamp); + } + std::string getMessage() const { return std::string((char*)logData->message, getLength()-sizeof(LogData)); } |