nemo_automodel.loggers.log_utils#

Module Contents#

Classes#

RankFilter

A logging filter that controls log output based on the process rank.

Functions#

warning_filter

Logging filter to exclude WARNING level messages.

module_filter

Logging filter to exclude messages from specific modules.

add_filter_to_all_loggers

Add a filter to the root logger and all existing loggers.

setup_logging

Set up logging level and filters for the application.

Data#

API#

nemo_automodel.loggers.log_utils.logger#

‘getLogger(…)’

class nemo_automodel.loggers.log_utils.RankFilter(name='')[source]#

Bases: logging.Filter

A logging filter that controls log output based on the process rank.

This filter allows log messages only for rank 0 by default.

Initialization

Initialize a filter.

Initialize with the name of the logger which, together with its children, will have its events allowed through the filter. If no name is specified, allow every event.

filter(record)[source]#

Decide whether to log the provided record.

Parameters:

record (logging.LogRecord) – The log record to be evaluated.

Returns:

True if the log record should be logged, False otherwise.

Return type:

bool

nemo_automodel.loggers.log_utils.warning_filter(record: logging.LogRecord) bool[source]#

Logging filter to exclude WARNING level messages.

Parameters:

record – The logging record to check.

Returns:

False if the record level is WARNING, True otherwise.

nemo_automodel.loggers.log_utils.module_filter(
record: logging.LogRecord,
modules_to_filter: list[str],
) bool[source]#

Logging filter to exclude messages from specific modules.

Parameters:
  • record – The logging record to check.

  • modules_to_filter – A list of module name prefixes to filter out.

Returns:

False if the record’s logger name starts with any of the specified module prefixes, True otherwise.

nemo_automodel.loggers.log_utils.add_filter_to_all_loggers(
filter: Union[logging.Filter, Callable[[logging.LogRecord], bool]],
) None[source]#

Add a filter to the root logger and all existing loggers.

Parameters:

filter – A logging filter instance or callable to add.

nemo_automodel.loggers.log_utils.setup_logging(
logging_level: int = logging.INFO,
filter_warning: bool = True,
modules_to_filter: Optional[list[str]] = None,
set_level_for_all_loggers: bool = False,
) None[source]#

Set up logging level and filters for the application.

Configures the logging level based on arguments, environment variables, or defaults. Optionally adds filters to suppress warnings or messages from specific modules.

Logging Level Precedence:

  1. Env var LOGGING_LEVEL

  2. logging_level argument

  3. Default: logging.INFO

Parameters:
  • logging_level – The desired logging level (e.g., logging.INFO, logging.DEBUG).

  • filter_warning – If True, adds a filter to suppress WARNING level messages.

  • modules_to_filter – An optional list of module name prefixes to filter out.

  • set_level_for_all_loggers – If True, sets the logging level for all existing loggers. If False (default), only sets the level for the root logger and loggers starting with ‘nemo’.