diff --git a/src/communication/worker.hpp b/src/communication/worker.hpp index ce28c42f9..9895281d5 100644 --- a/src/communication/worker.hpp +++ b/src/communication/worker.hpp @@ -77,7 +77,9 @@ class Worker } void OnClose(Session &session) { - logger_.trace("Client closed the connection"); + logger_.info("Client {}:{} closed the connection.", + session.socket_.endpoint().address(), + session.socket_.endpoint().port()); // TODO: remove socket from epoll object session.Close(); delete &session; diff --git a/src/io/network/stream_reader.hpp b/src/io/network/stream_reader.hpp index be4b8cc28..0a36f2631 100644 --- a/src/io/network/stream_reader.hpp +++ b/src/io/network/stream_reader.hpp @@ -17,13 +17,15 @@ class StreamReader : public StreamListener { : StreamListener(flags), logger_(logging::log->logger("io::StreamReader")) {} - bool Accept(Socket& socket) { + bool Accept(Socket &socket) { logger_.trace("Accept"); // accept a connection from a socket Socket s; if (!socket.Accept(&s)) return false; + logger_.info("Client {}:{} connected.", s.endpoint().address(), + s.endpoint().port()); logger_.trace( "Accepted a connection: scoket {}, address '{}', family {}, port {}", s.id(), s.endpoint().address(), s.endpoint().family(), @@ -32,7 +34,7 @@ class StreamReader : public StreamListener { if (!s.SetKeepAlive()) return false; if (!s.SetNoDelay()) return false; - auto& stream = this->derived().OnConnect(std::move(s)); + auto &stream = this->derived().OnConnect(std::move(s)); // we want to listen to an incoming event which is edge triggered and // we also want to listen on the hangup event @@ -44,7 +46,7 @@ class StreamReader : public StreamListener { return true; } - void OnData(Stream& stream) { + void OnData(Stream &stream) { logger_.trace("On data"); if (UNLIKELY(!stream.Alive())) { diff --git a/src/query/interpreter.hpp b/src/query/interpreter.hpp index a8aa09fa2..bc5d4041d 100644 --- a/src/query/interpreter.hpp +++ b/src/query/interpreter.hpp @@ -14,8 +14,9 @@ namespace query { -class Interpreter { +class Interpreter : public Loggable { public: + Interpreter() : Loggable("Interpreter") {} template void Interpret(const std::string &query, GraphDbAccessor &db_accessor, Stream &stream) { @@ -132,6 +133,7 @@ class Interpreter { // have to be correct (for Bolt clients) summary["type"] = "rw"; stream.Summary(summary); + logger.info("Execute '{}', {}", query, summary); } private: