nadzoring.logger module¶
Logging configuration module.
- class nadzoring.logger.ColoredFormatter(fmt: str | None = None, datefmt: str | None = None, *, use_colors: bool = True, simple: bool = False)[source]¶
Bases:
FormatterCustom log formatter that adds color coding to log levels.
Provides colored output for different log levels when enabled. Supports both detailed and simple format strings.
- grey¶
ANSI escape code for grey color
- Type:
ClassVar[str]
- blue¶
ANSI escape code for blue color
- Type:
ClassVar[str]
- green¶
ANSI escape code for green color
- Type:
ClassVar[str]
- yellow¶
ANSI escape code for yellow color
- Type:
ClassVar[str]
- red¶
ANSI escape code for red color
- Type:
ClassVar[str]
- bold_red¶
ANSI escape code for bold red color
- Type:
ClassVar[str]
- reset¶
ANSI escape code to reset color
- Type:
ClassVar[str]
- format_str¶
Default detailed log format string
- Type:
ClassVar[str]
- simple_format_str¶
Simple log format string for basic output
- Type:
ClassVar[str]
- quiet_format_str¶
Minimal log format string with just the message
- Type:
ClassVar[str]
- FORMATS¶
Mapping of log levels to their colored detailed format strings
- Type:
ClassVar[dict[int, str]]
- SIMPLE_FORMATS¶
Mapping of log levels to their colored simple format strings
- Type:
ClassVar[dict[int, str]]
- FORMATS: ClassVar[dict[int, str]] = {10: '\x1b[34;20m%(asctime)s | %(levelname)-8s | %(name)s | %(message)s\x1b[0m', 20: '\x1b[32;20m%(asctime)s | %(levelname)-8s | %(name)s | %(message)s\x1b[0m', 30: '\x1b[33;20m%(asctime)s | %(levelname)-8s | %(name)s | %(message)s\x1b[0m', 40: '\x1b[31;20m%(asctime)s | %(levelname)-8s | %(name)s | %(message)s\x1b[0m', 50: '\x1b[31;1m%(asctime)s | %(levelname)-8s | %(name)s | %(message)s\x1b[0m'}¶
- SIMPLE_FORMATS: ClassVar[dict[int, str]] = {10: '\x1b[34;20m%(levelname)s: %(message)s\x1b[0m', 20: '\x1b[32;20m%(levelname)s: %(message)s\x1b[0m', 30: '\x1b[33;20m%(levelname)s: %(message)s\x1b[0m', 40: '\x1b[31;20m%(levelname)s: %(message)s\x1b[0m', 50: '\x1b[31;1m%(levelname)s: %(message)s\x1b[0m'}¶
- __init__(fmt: str | None = None, datefmt: str | None = None, *, use_colors: bool = True, simple: bool = False) None[source]¶
Initialize the colored formatter.
- Parameters:
fmt – Optional custom format string (unused, kept for compatibility)
datefmt – Optional date format string. Defaults to None.
use_colors – Whether to enable colored output. Defaults to True.
simple – Whether to use simple format instead of detailed format. Defaults to False.
- blue: ClassVar[str] = '\x1b[34;20m'¶
- bold_red: ClassVar[str] = '\x1b[31;1m'¶
- format(record: LogRecord) str[source]¶
Format the log record with optional colors and format style.
- Parameters:
record – The log record to format.
- Returns:
Formatted log string with appropriate colors and format based on the configuration and log level.
- format_str: ClassVar[str] = '%(asctime)s | %(levelname)-8s | %(name)s | %(message)s'¶
- green: ClassVar[str] = '\x1b[32;20m'¶
- grey: ClassVar[str] = '\x1b[38;20m'¶
- quiet_format_str: ClassVar[str] = '%(message)s'¶
- red: ClassVar[str] = '\x1b[31;20m'¶
- reset: ClassVar[str] = '\x1b[0m'¶
- simple_format_str: ClassVar[str] = '%(levelname)s: %(message)s'¶
- yellow: ClassVar[str] = '\x1b[33;20m'¶
- nadzoring.logger.get_logger(name: str | None = None) Logger[source]¶
Get a child logger or the root logger.
Creates or retrieves a child logger for the specified module name. If no name is provided, returns the root logger instance.
- Parameters:
name – Optional module name for creating a child logger. Defaults to None.
- Returns:
Logger instance - either a child logger if name is provided, or the root logger instance otherwise.
- nadzoring.logger.setup_cli_logging(*, verbose: bool = False, quiet: bool = False, no_color: bool = False) None[source]¶
Configure logging for command-line interface mode.
Sets up the root logger with appropriate level and formatter based on CLI arguments. Clears any existing handlers before configuration.
- Parameters:
verbose – If True, sets log level to DEBUG with detailed formatting. Defaults to False.
quiet – If True, disables all logging by setting level above CRITICAL. Defaults to False.
no_color – If True, disables colored output in log messages. Defaults to False.
Note
quiet takes precedence over verbose
When quiet is True, all logging is disabled regardless of other args
When verbose is True and quiet is False, uses detailed format with DEBUG level
Otherwise, uses simple format with WARNING level