finesse.utilities.logging.logs¶
- finesse.utilities.logging.logs(logger, level=None, handler=None, close=True)[source]¶
Emit logs at or above level in the encapsulated context, optionally using the specified handler.
See the Python logging cookbook for more information.
- Parameters:
- logger
logging.Logger
The logger to use for the encapsulated context.
- levelstr or int, optional
The minimum log levels to emit. The standard log levels “debug”, “info”, “warning”, “error” and “critical” are supported, as are their corresponding level numbers (see
logging
).- handler
logging.LogHandler
, optional The handler to add to logger for the encapsulated context.
- closebool, optional
Close handler once finished. Defaults to True.
- logger
Examples
Print debug logs during parsing, excluding compilation messages.
>>> import logging >>> from finesse import Model >>> from finesse.utilities import logs >>> from finesse.utilities.logging import FinesseStreamHandler >>> handler = FinesseStreamHandler() >>> handler.exclude("finesse.script.compiler") >>> model = Model() >>> with logs(logging.getLogger(), level="debug", handler=handler): >>> model.parse("laser l1 P=1")