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: Formatter

Custom 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