Logger¶
veltix.logger.core.Logger
¶
Veltix logger with simple, powerful API.
Thread-safe logger with console and file output support. Can be passed to Client/Server or used standalone.
This is a singleton - only one instance can exist.
__new__
¶
Create or return the singleton instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
Optional[LoggerConfig]
|
Logger configuration (only used on first creation) |
None
|
Returns:
| Type | Description |
|---|---|
Logger
|
The singleton Logger instance |
__init__
¶
Initialize logger (only on first creation).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
Optional[LoggerConfig]
|
Logger configuration (uses defaults if None, only used on first creation) |
None
|
get_instance
classmethod
¶
Get the singleton instance.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
config
|
Optional[LoggerConfig]
|
Logger configuration (only used on first creation) |
None
|
Returns:
| Type | Description |
|---|---|
Logger
|
The singleton Logger instance |
reset_instance
classmethod
¶
Reset the singleton instance (mainly for testing).
veltix.logger.config.LoggerConfig
dataclass
¶
Configuration for Veltix logger.
Attributes:
| Name | Type | Description |
|---|---|---|
level |
LogLevel
|
Minimum log level to display (default: INFO) |
enabled |
bool
|
Enable/disable all logging (default: True) |
use_colors |
bool
|
Enable colored output for console (default: True) |
show_timestamp |
bool
|
Show timestamp in logs (default: True) |
show_caller |
bool
|
Show file:line information (default: True) |
show_level |
bool
|
Show log level name (default: True) |
file_path |
str | Path | None
|
Path to log file (default: None = no file logging) |
file_rotation_size |
int
|
Max file size in bytes before rotation (default: 10MB) |
file_backup_count |
int
|
Number of backup files to keep (default: 5) |
stream |
TextIO
|
Output stream for console logs (default: stdout) |
async_write |
bool
|
Use async file writing for performance (default: False) |
buffer_size |
int
|
Buffer size for async writes (default: 100) |
veltix.logger.levels.LogLevel
¶
Bases: IntEnum
Log severity levels.
Levels are ordered by severity, allowing simple filtering: - TRACE: Detailed debugging information - DEBUG: General debugging information - INFO: Informational messages - SUCCESS: Successful operations (between INFO and WARNING) - WARNING: Warning messages for potential issues - ERROR: Error messages for failures - CRITICAL: Critical errors requiring immediate attention