summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Common/RemoteLogger.cpp2
-rw-r--r--src/Core/RequestHandlers/LogRequestHandler.cpp3
-rw-r--r--src/Net/Packets/LogPacket.cpp3
-rw-r--r--src/Net/Packets/LogPacket.h4
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));
}