Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
corium::logging::LogEventT< MaxMessageLength > Struct Template Reference

Zero-heap log event carrying fixed-size inline message buffer across MPSC event bus. More...

#include <LogEvent.hpp>

+ Collaboration diagram for corium::logging::LogEventT< MaxMessageLength >:

Public Member Functions

constexpr LogEventT ()=default
 
constexpr LogEventT (LogLevel lvl, std::string_view msg, const char *cat="App", uint64_t ts=0) noexcept
 Create log event with inline formatted string.
 
constexpr void setMessage (std::string_view msg) noexcept
 Set inline message buffer safely up to MaxMessageLength - 1.
 
constexpr std::string_view view () const noexcept
 Access message as std::string_view.
 

Public Attributes

const char * category = "App"
 
std::size_t length = 0
 
LogLevel level = LogLevel::Info
 
std::array< char, MaxMessageLength > message {}
 
uint64_t timestampNs = 0
 

Detailed Description

template<std::size_t MaxMessageLength = 256>
struct corium::logging::LogEventT< MaxMessageLength >

Zero-heap log event carrying fixed-size inline message buffer across MPSC event bus.

Template Parameters
MaxMessageLengthMaximum character capacity for inline log message.

Constructor & Destructor Documentation

◆ LogEventT() [1/2]

template<std::size_t MaxMessageLength = 256>
constexpr corium::logging::LogEventT< MaxMessageLength >::LogEventT ( )
constexprdefault

◆ LogEventT() [2/2]

template<std::size_t MaxMessageLength = 256>
constexpr corium::logging::LogEventT< MaxMessageLength >::LogEventT ( LogLevel  lvl,
std::string_view  msg,
const char *  cat = "App",
uint64_t  ts = 0 
)
inlineconstexprnoexcept

Create log event with inline formatted string.

+ Here is the call graph for this function:

Member Function Documentation

◆ setMessage()

template<std::size_t MaxMessageLength = 256>
constexpr void corium::logging::LogEventT< MaxMessageLength >::setMessage ( std::string_view  msg)
inlineconstexprnoexcept

Set inline message buffer safely up to MaxMessageLength - 1.

+ Here is the caller graph for this function:

◆ view()

template<std::size_t MaxMessageLength = 256>
constexpr std::string_view corium::logging::LogEventT< MaxMessageLength >::view ( ) const
inlineconstexprnoexcept

Access message as std::string_view.

Member Data Documentation

◆ category

template<std::size_t MaxMessageLength = 256>
const char* corium::logging::LogEventT< MaxMessageLength >::category = "App"

◆ length

template<std::size_t MaxMessageLength = 256>
std::size_t corium::logging::LogEventT< MaxMessageLength >::length = 0

◆ level

template<std::size_t MaxMessageLength = 256>
LogLevel corium::logging::LogEventT< MaxMessageLength >::level = LogLevel::Info

◆ message

template<std::size_t MaxMessageLength = 256>
std::array<char, MaxMessageLength> corium::logging::LogEventT< MaxMessageLength >::message {}

◆ timestampNs

template<std::size_t MaxMessageLength = 256>
uint64_t corium::logging::LogEventT< MaxMessageLength >::timestampNs = 0

The documentation for this struct was generated from the following file: