|
CppTrail
|
A high-level handle for logging operations. More...
#include <base_logger.h>

Public Types | |
| using | char_type = typename BasicLoggerImpl< char_t >::char_type |
| Alias for the underlying character type used by this logger. | |
| using | string_type = typename BasicLoggerImpl< char_t >::string_type |
| Alias for the basic_string type associated with this logger's encoding. | |
| using | message_type = typename BasicLoggerImpl< char_t >::message_type |
| Alias for the BasicMessage type associated to the logger. | |
| using | string_view_type = typename BasicLoggerImpl< char_t >::string_view_type |
| Alias for the basic_string_view type associated with this logger's encoding. | |
Public Member Functions | |
| BasicLogger (nullptr_t)=delete | |
| Prevents construction from a null pointer. | |
| BasicLogger (const BasicLogger &pLogger)=default | |
| Copy constructor (defaults to shared ownership). | |
| BasicLogger (BasicLogger &&pLogger)=default | |
| Move constructor. | |
| BasicLogger & | operator= (const BasicLogger &pLogger)=default |
| Assignment operator. | |
| BasicLogger & | operator= (BasicLogger &&pLogger)=default |
| Assignment operator. | |
| void | start () |
| Starts the underlying logging service. | |
| void | stop () |
| Performs a synchronous shutdown of the logger. | |
| void | signalStop () |
| Initiates an asynchronous shutdown request. | |
| void | join () |
| Blocks until the asynchronous shutdown sequence is complete. | |
| Status | status () |
| Retrieves the current operational status of the logger. | |
Primary Logging Interface | |
| BasicLogger & | log (message_type oMessage) |
| Submits a pre-constructed message object to the logger. | |
| BasicLogger & | log (const Level nLevel, string_type sMessage) |
| Logs a message with a specific severity level. | |
| BasicLogger & | log (string_type sLevel, string_type sMessage) |
| Logs a message with a custom string-based level. | |
Convenience Severity Wrappers | |
| BasicLogger & | success (string_type sMessage) |
| Submits a SUCCESS level log message. | |
| BasicLogger & | trace (string_type sMessage) |
| Submits a TRACE level log message. | |
| BasicLogger & | debug (string_type sMessage) |
| Submits a DEBUG level log message. | |
| BasicLogger & | info (string_type sMessage) |
| Submits an INFO level log message. | |
| BasicLogger & | message (string_type sMessage) |
| Submits a MESSAGE level log message. | |
| BasicLogger & | warning (string_type sMessage) |
| Submits a WARNING level log message. | |
| BasicLogger & | error (string_type sMessage) |
| Submits an ERROR level log message. | |
| BasicLogger & | critical (string_type sMessage) |
| Submits a CRITICAL level log message. | |
| BasicLogger & | fatal (string_type sMessage) |
| Submits a FATAL level log message. | |
| BasicLogger & | success (string_view_type sMsg) |
| Success wrapper for string views. | |
| BasicLogger & | trace (string_view_type sMsg) |
| Trace wrapper for string views. | |
| BasicLogger & | debug (string_view_type sMsg) |
| Debug wrapper for string views. | |
| BasicLogger & | info (string_view_type sMsg) |
| Info wrapper for string views. | |
| BasicLogger & | message (string_view_type sMsg) |
| Message wrapper for string views. | |
| BasicLogger & | warning (string_view_type sMsg) |
| Warning wrapper for string views. | |
| BasicLogger & | error (string_view_type sMsg) |
| Error wrapper for string views. | |
| BasicLogger & | critical (string_view_type sMsg) |
| Critical wrapper for string views. | |
| BasicLogger & | fatal (string_view_type sMsg) |
| Fatal wrapper for string views. | |
| BasicLogger & | success (const char_t *sMsg) |
| Success wrapper for string litterals. | |
| BasicLogger & | trace (const char_t *sMsg) |
| Trace wrapper for string litterals. | |
| BasicLogger & | debug (const char_t *sMsg) |
| Debug wrapper for string litterals. | |
| BasicLogger & | info (const char_t *sMsg) |
| Info wrapper for string litterals. | |
| BasicLogger & | message (const char_t *sMsg) |
| Message wrapper for string litterals. | |
| BasicLogger & | warning (const char_t *sMsg) |
| Warning wrapper for string litterals. | |
| BasicLogger & | error (const char_t *sMsg) |
| Error wrapper for string litterals. | |
| BasicLogger & | critical (const char_t *sMsg) |
| Critical wrapper for string litterals. | |
| BasicLogger & | fatal (const char_t *sMsg) |
| Fatal wrapper for string litterals. | |
String View Overloads (C++17) | |
| BasicLogger & | log (const Level nLevel, string_view_type sMessage) |
| Logs a message view with a specific severity level. | |
| BasicLogger & | log (string_type sLevel, string_view_type sMessage) |
| Logs a message view with a custom string level. | |
| BasicLogger & | log (const Level nLevel, const char_t *sMessage) |
| Logs a message view with a specific severity level. | |
| BasicLogger & | log (string_type sLevel, const char_t *sMessage) |
| Logs a message view with a custom string level. | |
Exception Overloads | |
| template<typename T = char_t, typename std::enable_if< std::is_same< T, char >::value, int >::type = 0> | |
| BasicLogger & | log (const std::exception &oException) |
| Logs an exception with the default ERROR level. | |
| template<typename T = char_t, typename std::enable_if< std::is_same< T, char >::value, int >::type = 0> | |
| BasicLogger & | log (const Level nLevel, const std::exception &oException) |
| Logs an exception with a specific severity level. | |
| template<typename T = char_t, typename std::enable_if< std::is_same< T, char >::value, int >::type = 0> | |
| BasicLogger & | log (string_type sLevel, const std::exception &oException) |
| Logs an exception with a custom string level. | |
Protected Member Functions | |
| BasicLogger (std::shared_ptr< BasicLoggerImpl< char_t > > pLogger) | |
| Protected constructor for derived factories. | |
| ~BasicLogger () | |
| Destructor that ensures a graceful shutdown of the logger. | |
A high-level handle for logging operations.
BasicLogger uses a pImpl-like approach via std::shared_ptr to manage a BasicLoggerImpl. It provides a flexible API including method chaining, exception handling, and operator overloading.
| char_t | The character type (e.g., char, char8_t) used for logging. |
|
inlineprotected |
Protected constructor for derived factories.
| pLogger | A shared pointer to a concrete implementation. |
|
inlineprotected |
Destructor that ensures a graceful shutdown of the logger.
BasicLogger follows an RAII (Resource Acquisition Is Initialization) pattern. If this specific instance is the last remaining handle (use_count == 1) to the underlying implementation, it will automatically call stop() and join() to ensure all pending logs are processed and resources are freed before the implementation is destroyed.
|
inline |
Critical wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits a CRITICAL level log message.
| sMessage | The message content. |
|
inline |
Critical wrapper for string views.
| sMsg | Message view. |
|
inline |
Debug wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits a DEBUG level log message.
| sMessage | The message content. |
|
inline |
Debug wrapper for string views.
| sMsg | Message view. |
|
inline |
Error wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits an ERROR level log message.
| sMessage | The message content. |
|
inline |
Error wrapper for string views.
| sMsg | Message view. |
|
inline |
Fatal wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits a FATAL level log message.
| sMessage | The message content. |
|
inline |
Fatal wrapper for string views.
| sMsg | Message view. |
|
inline |
Info wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits an INFO level log message.
| sMessage | The message content. |
|
inline |
Info wrapper for string views.
| sMsg | Message view. |
|
inline |
Blocks until the asynchronous shutdown sequence is complete.
This method safely checks if the underlying implementation is an asynchronous type via dynamic_cast. If it is, it waits for background threads to finish. For synchronous loggers, this is a no-op.
|
inline |
Logs a message view with a specific severity level.
| nLevel | The severity level. |
| sMessage | The string litteral to log. |
|
inline |
Logs an exception with a specific severity level.
| T | Internal type for SFINAE check. |
| nLevel | The severity level. |
| oException | The exception object. |
|
inline |
Logs a message with a specific severity level.
| nLevel | The severity level (from the Level enum). |
| sMessage | The string content of the log. |
|
inline |
Logs a message view with a specific severity level.
| nLevel | The severity level. |
| sMessage | The string view to log. |
|
inline |
Logs an exception with the default ERROR level.
| T | Internal type for SFINAE check. |
| oException | The exception object. |
|
inline |
Submits a pre-constructed message object to the logger.
| oMessage | The message implementation to be processed. |
|
inline |
Logs a message view with a custom string level.
| sLevel | The custom level name. |
| sMessage | The string litteral to log. |
|
inline |
Logs an exception with a custom string level.
| T | Internal type for SFINAE check. |
| sLevel | The custom level name. |
| oException | The exception object. |
|
inline |
Logs a message with a custom string-based level.
| sLevel | A custom string to represent the log category or level. |
| sMessage | The string content of the log. |
|
inline |
Logs a message view with a custom string level.
| sLevel | The custom level name. |
| sMessage | The string view to log. |
|
inline |
Message wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits a MESSAGE level log message.
| sMessage | The message content. |
|
inline |
Message wrapper for string views.
| sMsg | Message view. |
|
inline |
Initiates an asynchronous shutdown request.
Signals the logger to begin closing, allowing the calling thread to continue execution immediately. Use join() later to ensure completion.
|
inline |
Starts the underlying logging service.
Depending on the implementation, this may initialize resources, open files, or spawn background worker threads.
|
inline |
Retrieves the current operational status of the logger.
|
inline |
Performs a synchronous shutdown of the logger.
This method triggers the stop sequence and waits until the service has fully terminated and all resources are released.
|
inline |
Success wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits a SUCCESS level log message.
| sMessage | The message content. |
|
inline |
Success wrapper for string views.
| sMsg | Message view. |
|
inline |
Trace wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits a TRACE level log message.
| sMessage | The message content. |
|
inline |
Trace wrapper for string views.
| sMsg | Message view. |
|
inline |
Warning wrapper for string litterals.
| sMsg | Message view. |
|
inline |
Submits a WARNING level log message.
| sMessage | The message content. |
|
inline |
Warning wrapper for string views.
| sMsg | Message view. |