// Copyright 2020-2024 CesiumGS, Inc. and Contributors #pragma once #include "CoreMinimal.h" #include <memory> #include <mutex> #include <spdlog/details/null_mutex.h> #include <spdlog/sinks/base_sink.h> /** * @brief Internal implementation of a spdlog sink that forwards the messages * to Unreal log macros. */ class SpdlogUnrealLoggerSink : public spdlog::sinks::base_sink<spdlog::details::null_mutex> { protected: virtual void sink_it_(const spdlog::details::log_msg& msg) override; virtual void flush_() override; private: FString formatMessage(const spdlog::details::log_msg& msg) const; mutable std::mutex _formatMutex; };