Skip to content

EntropyEngine::Core::Logging

Name
classEntropyEngine::Core::Logging::Logger
Main logger class that manages sinks and provides logging interface.
structEntropyEngine::Core::Logging::LogEntry
A single log entry containing all metadata and message.
classEntropyEngine::Core::Logging::ILogSink
Interface for log sinks that handle log output.
classEntropyEngine::Core::Logging::ConsoleSink
Log sink that outputs to console.
Name
using std::shared_ptr< ILogSink >LogSinkPtr
Convenience typedef for shared sink pointers.
enum class uint8_tLogLevel { Warning = 3, Trace = 0, Off = 6, Info = 2, Fatal = 5, Error = 4, Debug = 1}
Log severity levels for controlling output verbosity.
Name
LogLevelstringToLogLevel(const std::string & str)
Convert string to LogLevel.
std::string_viewlogLevelToString(LogLevel level)
Convert log level to string representation.
charlogLevelToChar(LogLevel level)
Convert log level to single character.
using EntropyEngine::Core::Logging::LogSinkPtr = std::shared_ptr<ILogSink>;

Convenience typedef for shared sink pointers.

EnumeratorValueDescription
Warning3Warning conditions that might require attention.
Trace0Detailed trace information for deep debugging.
Off6Disable all logging output.
Info2Informational messages about normal operation.
Fatal5Fatal errors that will terminate the application.
Error4Error conditions that require immediate attention.
Debug1Debug information useful during development.

Log severity levels for controlling output verbosity.

Ordered from least to most severe. Setting a minimum level includes all more severe levels. E.g., Warning includes Warning, Error, Fatal.

inline LogLevel stringToLogLevel(
const std::string & str
)

Convert string to LogLevel.

Parameters:

  • str The string to parse

Return: Corresponding LogLevel, or Info if parsing fails

Case-insensitive. Accepts “WARN” for “WARNING”. Returns Info as default for unrecognized strings.

// Reading from configuration
auto level = stringToLogLevel(config["log_level"]);
logger.setLevel(level);
// Accepted formats:
stringToLogLevel("debug"); // LogLevel::Debug
stringToLogLevel("DEBUG"); // LogLevel::Debug
stringToLogLevel("WARN"); // LogLevel::Warning
stringToLogLevel("invalid"); // LogLevel::Info (default)
inline std::string_view logLevelToString(
LogLevel level
)

Convert log level to string representation.

Parameters:

  • level The log level to convert

Return: Level name (“TRACE”, “DEBUG”, etc.)

Returns fixed-width strings (5 chars) for consistent alignment.

std::cout << "[" << logLevelToString(LogLevel::Error) << "] "
<< "Failed to open file" << std::endl;
// Output: "[ERROR] Failed to open file"
inline char logLevelToChar(
LogLevel level
)

Convert log level to single character.

Parameters:

  • level The log level to convert

Return: Single character (‘T’, ‘D’, ‘I’, ‘W’, ‘E’, ‘F’, ‘O’)

Useful for compact formats and grep operations.

// Compact format for high-volume logging
std::cout << "[" << logLevelToChar(level) << "] "
<< timestamp << " " << message << std::endl;
// Output: "[E] 2024-01-15 10:30:45 Connection lost"

Updated on 2026-01-26 at 17:14:35 -0500