Logger
LoggerLink
The sierra.internal.logger module provides the UniversalLogger class for structured, leveled logging throughout Sierra‑SDK.
Using UniversalLogger
sierra.internal.logger
Link
AttributesLink
LogTypeLiteral
module-attribute
Link
ClassesLink
LogLevel
Link
LogType
Link
LoggerConfig
Link
Configuration for UniversalLogger.
Keys
name : str Prefix for each log message. (required) level : LogLevel Minimum log level to emit. (default LogLevel.BASIC) log_file : pathlib.Path | str | None File path for persistent logging. (default None) clean_logs : bool If True, uses stdout.write for performance. (default True) enable_colors : bool If True, ANSI colors are applied. (default True) timestamp_format : str Format specifier for datetime. (default "%Y-%m-%d %H:%M:%S") buffer_size : int Max messages retained in buffer. (default 1000) auto_flush : bool Flush buffer when full. (default True)
AttributesLink
LogColor
dataclass
Link
LogColor(INFO: str = colorama.Fore.GREEN, WARNING: str = colorama.Fore.YELLOW, DEBUG: str = colorama.Fore.LIGHTBLACK_EX, ERROR: str = colorama.Fore.RED, TIMESTAMP: str = colorama.Fore.CYAN, RESET: str = colorama.Fore.RESET, ICON_INFO: str = '✅', ICON_WARNING: str = '⚠️', ICON_DEBUG: str = '🔍', ICON_ERROR: str = '❌')
ANSI color codes and emoji icons for log message components.
AttributesLink
LogBuffer
Link
LogBuffer(max_size: int = 1000)
UniversalLogger
Link
UniversalLogger(**kwargs: typing.Unpack[LoggerConfig])
Main logger class integrating console, file, and buffer outputs.
| ATTRIBUTE | DESCRIPTION |
|---|---|
name |
Logger name (required in init kwargs).
TYPE:
|
level |
Minimum log level to display.
TYPE:
|
clean_logs |
Whether to use emoji-free output.
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If 'name' is missing or empty. |
OSError
|
If log file directory or file cannot be created. |
AttributesLink
log_file_path
instance-attribute
Link timestamp_format
instance-attribute
Linktimestamp_format: str = kwargs.get('timestamp_format', '%Y-%m-%d %H:%M:%S')
FunctionsLink
log
Linklog(message: str, log_type: LogTypeLiteral) -> None
Emit a log entry.
| PARAMETER | DESCRIPTION |
|---|---|
message
|
Content of the log.
TYPE:
|
log_type
|
Severity level.
TYPE:
|
flush_buffer
Link get_logs
Link