diff options
author | rtk0c <[email protected]> | 2023-10-19 22:50:07 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2025-08-16 11:31:16 -0700 |
commit | 297232d21594b138bb368a42b5b0d085ff9ed6aa (patch) | |
tree | 075d5407e1e12a9d35cbee6e4c20ad34e0765c42 /source/10-common/Log.hpp | |
parent | d5cd34ff69f7fd134d5450696f298af1a864afbc (diff) |
The great renaming: switch to "module style"
Diffstat (limited to 'source/10-common/Log.hpp')
-rw-r--r-- | source/10-common/Log.hpp | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/source/10-common/Log.hpp b/source/10-common/Log.hpp deleted file mode 100644 index aeba984..0000000 --- a/source/10-common/Log.hpp +++ /dev/null @@ -1,55 +0,0 @@ -#pragma once - -#include "RingBuffer.hpp" - -#include <fmt/format.h> -#include <chrono> -#include <source_location> -#include <string_view> - -// NOTE: we keep this on one line so std::soruce_location reports the correct information -#define GENERIC_LOG(lvl, fmtString, ...) Log::Add(Log::Message{ .level = lvl, .time = std::chrono::system_clock::now(), .srcLoc = std::source_location::current(), .text = fmt::format(fmtString __VA_OPT__(, ) __VA_ARGS__) }) - -#define LOG_DEBUG(...) GENERIC_LOG(Log::MessageLevel::Debug, __VA_ARGS__) -#define LOG_INFO(...) GENERIC_LOG(Log::MessageLevel::Info, __VA_ARGS__) -#define LOG_WARNING(...) GENERIC_LOG(Log::MessageLevel::Warning, __VA_ARGS__) -#define LOG_ERROR(...) GENERIC_LOG(Log::MessageLevel::Error, __VA_ARGS__) - -namespace Log { -enum class MessageLevel { - Debug, - Info, - Warning, - Error, -}; - -struct Message { - MessageLevel level; - std::chrono::time_point<std::chrono::system_clock> time; - std::source_location srcLoc; - std::string text; -}; - -/// A mRing buffer of log messages for programmatic inspection at runtime. -struct MessageBuffer { - RingBuffer<Message> messages; -}; - -/// Unique ID identifying a currently registered MessageBuffer. -using MessageBufferId = int; - -MessageBufferId RegisterBuffer(MessageBuffer& buffer); -void UnregisterBuffer(MessageBufferId id); -MessageBuffer* GetBuffer(MessageBufferId id); -void DumpRegisteredBuffers(); - -extern bool gPrintToStdOut; -#if BRUSSEL_DEV_ENV -// NOTE: initialized in main.cpp -extern MessageBuffer gDefaultBuffer; -extern MessageBufferId gDefaultBufferId; -#endif - -// TODO improve this interface: don't copy std::string when there is in fact no MessageBuffer registered -void Add(const Message& msg); -} // namespace Log |