Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
corium::logging::LoggerT< LogSink, MaxMessageSize > Class Template Reference

Static compile-time logger wrapper managing severity level filtering and zero-heap string formatting. More...

#include <Logger.hpp>

+ Inheritance diagram for corium::logging::LoggerT< LogSink, MaxMessageSize >:
+ Collaboration diagram for corium::logging::LoggerT< LogSink, MaxMessageSize >:

Public Types

using EventType = LogEventT< MaxMessageSize >
 

Public Member Functions

const char * category () const noexcept
 Get category tag.
 
template<typename... Args>
void critical (const char *fmt, Args &&... args) const
 
template<typename... Args>
void debug (const char *fmt, Args &&... args) const
 
template<typename... Args>
void error (const char *fmt, Args &&... args) const
 
template<typename... Args>
void info (const char *fmt, Args &&... args) const
 
template<typename... Args>
void log (LogLevel level, const char *fmt, Args &&... args) const
 Log formatted message directly to sink if severity level meets minimum threshold.
 
 LoggerT (const char *category="App", LogLevel minLevel=LogLevel::Info, LogSink sink=LogSink{})
 
template<typename TargetEventSink , typename... Args>
void logToSink (TargetEventSink &&targetSink, LogLevel level, const char *fmt, Args &&... args) const
 Post formatted LogEvent to a target Corium EventSink (lock-free MPSC event bus).
 
LogLevel minLevel () const noexcept
 Get minimum log severity level.
 
void setCategory (const char *category) noexcept
 Set category string tag.
 
void setMinLevel (LogLevel level) noexcept
 Set minimum log severity level.
 
const LogSink & sink () const noexcept
 
LogSink & sink () noexcept
 Access underlying log sink reference.
 
template<typename... Args>
void trace (const char *fmt, Args &&... args) const
 
template<typename... Args>
void warn (const char *fmt, Args &&... args) const
 

Detailed Description

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
class corium::logging::LoggerT< LogSink, MaxMessageSize >

Static compile-time logger wrapper managing severity level filtering and zero-heap string formatting.

Template Parameters
LogSinkLog sink backend handling actual log entry output (e.g. ConsoleLogSink, FileLogSink, NullLogSink).
MaxMessageSizeMaximum character length for formatted log messages.

Member Typedef Documentation

◆ EventType

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
using corium::logging::LoggerT< LogSink, MaxMessageSize >::EventType = LogEventT<MaxMessageSize>

Constructor & Destructor Documentation

◆ LoggerT()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
corium::logging::LoggerT< LogSink, MaxMessageSize >::LoggerT ( const char *  category = "App",
LogLevel  minLevel = LogLevel::Info,
LogSink  sink = LogSink{} 
)
inlineexplicit

Member Function Documentation

◆ category()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
const char * corium::logging::LoggerT< LogSink, MaxMessageSize >::category ( ) const
inlinenoexcept

Get category tag.

+ Here is the caller graph for this function:

◆ critical()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::critical ( const char *  fmt,
Args &&...  args 
) const
inline
+ Here is the call graph for this function:

◆ debug()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::debug ( const char *  fmt,
Args &&...  args 
) const
inline
+ Here is the call graph for this function:

◆ error()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::error ( const char *  fmt,
Args &&...  args 
) const
inline
+ Here is the call graph for this function:

◆ info()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::info ( const char *  fmt,
Args &&...  args 
) const
inline
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ log()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::log ( LogLevel  level,
const char *  fmt,
Args &&...  args 
) const
inline

Log formatted message directly to sink if severity level meets minimum threshold.

+ Here is the caller graph for this function:

◆ logToSink()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename TargetEventSink , typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::logToSink ( TargetEventSink &&  targetSink,
LogLevel  level,
const char *  fmt,
Args &&...  args 
) const
inline

Post formatted LogEvent to a target Corium EventSink (lock-free MPSC event bus).

◆ minLevel()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
LogLevel corium::logging::LoggerT< LogSink, MaxMessageSize >::minLevel ( ) const
inlinenoexcept

Get minimum log severity level.

◆ setCategory()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::setCategory ( const char *  category)
inlinenoexcept

Set category string tag.

+ Here is the call graph for this function:

◆ setMinLevel()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::setMinLevel ( LogLevel  level)
inlinenoexcept

Set minimum log severity level.

◆ sink() [1/2]

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
const LogSink & corium::logging::LoggerT< LogSink, MaxMessageSize >::sink ( ) const
inlinenoexcept

◆ sink() [2/2]

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
LogSink & corium::logging::LoggerT< LogSink, MaxMessageSize >::sink ( )
inlinenoexcept

Access underlying log sink reference.

◆ trace()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::trace ( const char *  fmt,
Args &&...  args 
) const
inline
+ Here is the call graph for this function:

◆ warn()

template<typename LogSink = sinks::ConsoleLogSink, std::size_t MaxMessageSize = 256>
template<typename... Args>
void corium::logging::LoggerT< LogSink, MaxMessageSize >::warn ( const char *  fmt,
Args &&...  args 
) const
inline
+ Here is the call graph for this function:

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