diff options
Diffstat (limited to 'src/zenserver/sessions/inprocsessionlogsink.h')
| -rw-r--r-- | src/zenserver/sessions/inprocsessionlogsink.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/zenserver/sessions/inprocsessionlogsink.h b/src/zenserver/sessions/inprocsessionlogsink.h new file mode 100644 index 000000000..15f9b5ec3 --- /dev/null +++ b/src/zenserver/sessions/inprocsessionlogsink.h @@ -0,0 +1,30 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "sessions.h" + +#include <zencore/logging/sink.h> +#include <zencore/session.h> + +#include <mutex> + +namespace zen { + +/// Log sink that forwards log messages to the server's own session +/// in the SessionsService, making them visible in the sessions browser UI. +class InProcSessionLogSink : public logging::Sink +{ +public: + explicit InProcSessionLogSink(SessionsService& Service) : m_Service(Service), m_SessionId(GetSessionId()) {} + + void Log(const logging::LogMessage& Msg) override; + void Flush() override {} + void SetFormatter(std::unique_ptr<logging::Formatter> /*InFormatter*/) override {} + +private: + SessionsService& m_Service; + Oid m_SessionId; +}; + +} // namespace zen |