IgnisLogger
class IgnisLogger(name, level=0)
Bases: logging.Logger
A logger class for Ignis
IgnisLogger is a like any other logging.Logger
object except it has an additional method, log_to_file()
, used to log data in the form of key:value pairs to a log file. Logging configuration is performed via a configuration file and is handled by IgnisLogging.
Refer to Python’s logging documentation for more details on how to use logging in Python
Initialize the IgnisLogger object
Parameters
- name (
str
) – name of the logger. Usually set to package name using __name__ - level (logging.NOTSET) – Verbosity level (use logging package enums)
Methods
addFilter
IgnisLogger.addFilter(filter)
Add the specified filter to this handler.
addHandler
IgnisLogger.addHandler(hdlr)
Add the specified handler to this logger.
callHandlers
IgnisLogger.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.
configure
IgnisLogger.configure(sh, conf_file_exists)
Internal configuration method of IgnisLogger. Should only be called by IgnisLogger
Parameters
- sh (
StreamHandler
) – StreamHandler object - conf_file_exists (
bool
) – Whether or not a file config exists
critical
IgnisLogger.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
IgnisLogger.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)
disable_file_logging
IgnisLogger.disable_file_logging()
Disable file logging for this logger object (note there is a single object for a given logger name
enable_file_logging
IgnisLogger.enable_file_logging()
Enable file logging for this logger object (note there is a single object for a given logger name
error
IgnisLogger.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
IgnisLogger.exception(msg, *args, exc_info=True, **kwargs)
Convenience method for logging an ERROR with exception information.
fatal
IgnisLogger.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
IgnisLogger.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
IgnisLogger.findCaller(stack_info=False, stacklevel=1)
Find the stack frame of the caller so that we can note the source file name, line number and function name.
getChild
IgnisLogger.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
IgnisLogger.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
IgnisLogger.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
IgnisLogger.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
IgnisLogger.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
IgnisLogger.isEnabledFor(level)
Is this logger enabled for level ‘level’?
log
IgnisLogger.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)
log_to_file
IgnisLogger.log_to_file(**kwargs)
Log key:value pairs to a log file.
Note: Logger name in the log file is fixed (ignis_logging)
Parameters
kwargs – key/value pairs to be logged, e.g t1=0.02, qubits=[1,2,4]
makeRecord
IgnisLogger.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.
removeFilter
IgnisLogger.removeFilter(filter)
Remove the specified filter from this handler.
removeHandler
IgnisLogger.removeHandler(hdlr)
Remove the specified handler from this logger.
setLevel
IgnisLogger.setLevel(level)
Set the logging level of this logger. level must be an int or a str.
warn
IgnisLogger.warn(msg, *args, **kwargs)
warning
IgnisLogger.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)
Attributes
manager
Default value: <logging.Manager object>
root
Default value: <RootLogger root (WARNING)>