15 #if QX_CLANG || QX_APPLE_CLANG || QX_GNU
68 std::thread::id threadId,
69 std::chrono::system_clock::time_point messageTime,
71 string_view svFunction,
73 string_view svMessage)
override;
100 bool remap_to_capacity(
size_t nNewCapacity) noexcept;
115 bool ensure_capacity(
size_t nAdditionalBytes) noexcept;
137 static size_t align_up_u64(
size_t nValue,
size_t nAlignment) noexcept;
141 HANDLE m_hFile = INVALID_HANDLE_VALUE;
142 HANDLE m_hMap =
nullptr;
147 std::byte* m_pData =
nullptr;
150 size_t m_nCapacity = 0;
151 size_t m_nGranularity = 0;
Base class for all file logger streams.
A category is a class that identifies a particular piece of code. This code can be located in differe...
High-performance file logger based on memory-mapped I/O.
virtual void do_log(const category &category, verbosity eVerbosity, std::thread::id threadId, std::chrono::system_clock::time_point messageTime, string_view svFile, string_view svFunction, int nLine, string_view svMessage) override
Proceed stream logging.
virtual void do_flush() override
Flush the stream.
file_logger_stream_mapping(const config &streamConfig=config(), unit< size_t, units::data > initialMapSize={ 1, units::data::mebibytes }) noexcept
file_logger_stream_mapping object constructor