NuRadioReco.utilities.logging module

class NuRadioReco.utilities.logging.NuRadioLogger(name)[source]

Bases: Logger

Custom logging class for NuRadio modules and applications. It adds a custom log level STATUS, which has level=`LOGGING_STATUS` as defined in logging.py (as of February 2024, its value is 25). The associated status() call is also implemented.

Methods

addFilter(filter)

Add the specified filter to this handler.

addHandler(hdlr)

Add the specified handler to this logger.

callHandlers(record)

Pass a record to all relevant handlers.

critical(msg, *args, **kwargs)

Log 'msg % args' with severity 'CRITICAL'.

debug(msg, *args, **kwargs)

Log 'msg % args' with severity 'DEBUG'.

error(msg, *args, **kwargs)

Log 'msg % args' with severity 'ERROR'.

exception(msg, *args[, exc_info])

Convenience method for logging an ERROR with exception information.

fatal(msg, *args, **kwargs)

Log 'msg % args' with severity 'CRITICAL'.

filter(record)

Determine if a record is loggable by consulting all the filters.

findCaller([stack_info])

Find the stack frame of the caller so that we can note the source file name, line number and function name.

getChild(suffix)

Get a logger which is a descendant to this one.

getEffectiveLevel()

Get the effective level for this logger.

handle(record)

Call the handlers for the specified record.

hasHandlers()

See if this logger has any handlers configured.

info(msg, *args, **kwargs)

Log 'msg % args' with severity 'INFO'.

isEnabledFor(level)

Is this logger enabled for level 'level'?

log(level, msg, *args, **kwargs)

Log 'msg % args' with the integer severity 'level'.

makeRecord(name, level, fn, lno, msg, args, ...)

A factory method which can be overridden in subclasses to create specialized LogRecords.

removeFilter(filter)

Remove the specified filter from this handler.

removeHandler(hdlr)

Remove the specified handler from this logger.

setLevel(level)

Set the logging level of this logger.

warning(msg, *args, **kwargs)

Log 'msg % args' with severity 'WARNING'.

status

warn

Initialize the logger with a name and an optional level.

Methods

addFilter(filter)

Add the specified filter to this handler.

addHandler(hdlr)

Add the specified handler to this logger.

callHandlers(record)

Pass a record to all relevant handlers.

critical(msg, *args, **kwargs)

Log 'msg % args' with severity 'CRITICAL'.

debug(msg, *args, **kwargs)

Log 'msg % args' with severity 'DEBUG'.

error(msg, *args, **kwargs)

Log 'msg % args' with severity 'ERROR'.

exception(msg, *args[, exc_info])

Convenience method for logging an ERROR with exception information.

fatal(msg, *args, **kwargs)

Log 'msg % args' with severity 'CRITICAL'.

filter(record)

Determine if a record is loggable by consulting all the filters.

findCaller([stack_info])

Find the stack frame of the caller so that we can note the source file name, line number and function name.

getChild(suffix)

Get a logger which is a descendant to this one.

getEffectiveLevel()

Get the effective level for this logger.

handle(record)

Call the handlers for the specified record.

hasHandlers()

See if this logger has any handlers configured.

info(msg, *args, **kwargs)

Log 'msg % args' with severity 'INFO'.

isEnabledFor(level)

Is this logger enabled for level 'level'?

log(level, msg, *args, **kwargs)

Log 'msg % args' with the integer severity 'level'.

makeRecord(name, level, fn, lno, msg, args, ...)

A factory method which can be overridden in subclasses to create specialized LogRecords.

removeFilter(filter)

Remove the specified filter from this handler.

removeHandler(hdlr)

Remove the specified handler from this logger.

setLevel(level)

Set the logging level of this logger.

warning(msg, *args, **kwargs)

Log 'msg % args' with severity 'WARNING'.

status

warn

status(message, *args, **kwargs)[source]
addFilter(filter)

Add the specified filter to this handler.

addHandler(hdlr)

Add the specified handler to this logger.

callHandlers(record)

Pass a record to all relevant handlers.

Loop through all handlers for this logger and its parents in the logger hierarchy. If no handler was found, output a one-off error message to sys.stderr. Stop searching up the hierarchy whenever a logger with the “propagate” attribute set to zero is found - that will be the last logger whose handlers are called.

critical(msg, *args, **kwargs)

Log ‘msg % args’ with severity ‘CRITICAL’.

To pass exception information, use the keyword argument exc_info with a true value, e.g.

logger.critical(“Houston, we have a %s”, “major disaster”, exc_info=1)

debug(msg, *args, **kwargs)

Log ‘msg % args’ with severity ‘DEBUG’.

To pass exception information, use the keyword argument exc_info with a true value, e.g.

logger.debug(“Houston, we have a %s”, “thorny problem”, exc_info=1)

error(msg, *args, **kwargs)

Log ‘msg % args’ with severity ‘ERROR’.

To pass exception information, use the keyword argument exc_info with a true value, e.g.

logger.error(“Houston, we have a %s”, “major problem”, exc_info=1)

exception(msg, *args, exc_info=True, **kwargs)

Convenience method for logging an ERROR with exception information.

fatal(msg, *args, **kwargs)

Log ‘msg % args’ with severity ‘CRITICAL’.

To pass exception information, use the keyword argument exc_info with a true value, e.g.

logger.critical(“Houston, we have a %s”, “major disaster”, exc_info=1)

filter(record)

Determine if a record is loggable by consulting all the filters.

The default is to allow the record to be logged; any filter can veto this and the record is then dropped. Returns a zero value if a record is to be dropped, else non-zero.

Changed in version 3.2: Allow filters to be just callables.

findCaller(stack_info=False)

Find the stack frame of the caller so that we can note the source file name, line number and function name.

getChild(suffix)

Get a logger which is a descendant to this one.

This is a convenience method, such that

logging.getLogger(‘abc’).getChild(‘def.ghi’)

is the same as

logging.getLogger(‘abc.def.ghi’)

It’s useful, for example, when the parent logger is named using __name__ rather than a literal string.

getEffectiveLevel()

Get the effective level for this logger.

Loop through this logger and its parents in the logger hierarchy, looking for a non-zero logging level. Return the first one found.

handle(record)

Call the handlers for the specified record.

This method is used for unpickled records received from a socket, as well as those created locally. Logger-level filtering is applied.

hasHandlers()

See if this logger has any handlers configured.

Loop through all handlers for this logger and its parents in the logger hierarchy. Return True if a handler was found, else False. Stop searching up the hierarchy whenever a logger with the “propagate” attribute set to zero is found - that will be the last logger which is checked for the existence of handlers.

info(msg, *args, **kwargs)

Log ‘msg % args’ with severity ‘INFO’.

To pass exception information, use the keyword argument exc_info with a true value, e.g.

logger.info(“Houston, we have a %s”, “interesting problem”, exc_info=1)

isEnabledFor(level)

Is this logger enabled for level ‘level’?

log(level, msg, *args, **kwargs)

Log ‘msg % args’ with the integer severity ‘level’.

To pass exception information, use the keyword argument exc_info with a true value, e.g.

logger.log(level, “We have a %s”, “mysterious problem”, exc_info=1)

makeRecord(name, level, fn, lno, msg, args, exc_info, func=None, extra=None, sinfo=None)

A factory method which can be overridden in subclasses to create specialized LogRecords.

manager = <logging.Manager object>
removeFilter(filter)

Remove the specified filter from this handler.

removeHandler(hdlr)

Remove the specified handler from this logger.

root = <RootLogger root (WARNING)>
setLevel(level)

Set the logging level of this logger. level must be an int or a str.

warn(msg, *args, **kwargs)
warning(msg, *args, **kwargs)

Log ‘msg % args’ with severity ‘WARNING’.

To pass exception information, use the keyword argument exc_info with a true value, e.g.

logger.warning(“Houston, we have a %s”, “bit of a problem”, exc_info=1)

NuRadioReco.utilities.logging.addLoggingLevel(levelName, levelNum, methodName=None)[source]

Comprehensively adds a new logging level to the logging module and the currently configured logging class.

levelName becomes an attribute of the logging module with the value levelNum. methodName becomes a convenience method for both logging itself and the class returned by logging.getLoggerClass() (usually just logging.Logger). If methodName is not specified, levelName.lower() is used.

To avoid accidental clobberings of existing attributes, this method will raise an AttributeError if the level name is already an attribute of the logging module or if the method name is already present

Notes

This function was taken from this answer

Examples

>>> addLoggingLevel('TRACE', logging.DEBUG - 5)
>>> logging.getLogger(__name__).setLevel("TRACE")
>>> logging.getLogger(__name__).trace('that worked')
>>> logging.trace('so did this')
>>> logging.TRACE
5
NuRadioReco.utilities.logging.get_fancy_formatter()[source]

Returns the formatter used in the NuRadio logger.

Returns:
formatterlogging.Formatter
NuRadioReco.utilities.logging.set_general_log_level(level)[source]

Set the logging level of the NuRadioMC and NuRadioReco loggers to level.

Parameters:
levelint

The desired logging level