Package logging :: Class Logger
[hide private]
[frames] | no frames]

_ClassType Logger

Filterer --+
           |
          Logger
Known Subclasses:

Instances of the Logger class represent a single logging channel. A "logging channel" indicates an area of an application. Exactly how an "area" is defined is up to the application developer. Since an application can have any number of areas, logging channels are identified by a unique string. Application areas can be nested (e.g. an area of "input processing" might include sub-areas "read CSV files", "read XLS files" and "read Gnumeric files"). To cater for this natural nesting, channel names are organized into a namespace hierarchy where levels are separated by periods, much like the Java or Python package namespace. So in the instance given above, channel names might be "input" for the upper level, and "input.csv", "input.xls" and "input.gnu" for the sub-levels. There is no arbitrary limit to the depth of nesting.

Instance Methods [hide private]
 
__init__(self, name, level=0)
Initialize the logger with a name and an optional level.
 
setLevel(self, level)
Set the logging level of this logger.
 
debug(self, msg, *args, **kwargs)
Log 'msg % args' with severity 'DEBUG'.
 
info(self, msg, *args, **kwargs)
Log 'msg % args' with severity 'INFO'.
 
warning(self, msg, *args, **kwargs)
Log 'msg % args' with severity 'WARNING'.
 
warn(self, msg, *args, **kwargs)
Log 'msg % args' with severity 'WARNING'.
 
error(self, msg, *args, **kwargs)
Log 'msg % args' with severity 'ERROR'.
 
exception(self, msg, *args)
Convenience method for logging an ERROR with exception information.
 
critical(self, msg, *args, **kwargs)
Log 'msg % args' with severity 'CRITICAL'.
 
fatal(self, msg, *args, **kwargs)
Log 'msg % args' with severity 'CRITICAL'.
 
log(self, level, msg, *args, **kwargs)
Log 'msg % args' with the integer severity 'level'.
 
findCaller(self)
Find the stack frame of the caller so that we can note the source file name, line number and function name.
 
makeRecord(self, name, level, fn, lno, msg, args, exc_info, func=None, extra=None)
A factory method which can be overridden in subclasses to create specialized LogRecords.
 
_log(self, level, msg, args, exc_info=None, extra=None)
Low-level logging routine which creates a LogRecord and then calls all the handlers of this logger to handle the record.
 
handle(self, record)
Call the handlers for the specified record.
 
addHandler(self, hdlr)
Add the specified handler to this logger.
 
removeHandler(self, hdlr)
Remove the specified handler from this logger.
 
callHandlers(self, record)
Pass a record to all relevant handlers.
 
getEffectiveLevel(self)
Get the effective level for this logger.
 
isEnabledFor(self, level)
Is this logger enabled for level 'level'?

Inherited from Filterer: addFilter, filter, removeFilter

Class Variables [hide private]
  root = RootLogger(WARNING)
  manager = Manager(Logger.root)
Method Details [hide private]

__init__(self, name, level=0)
(Constructor)

 

Initialize the logger with a name and an optional level.

Overrides: Filterer.__init__

debug(self, 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)

info(self, 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)

warning(self, 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)

warn(self, 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)

error(self, 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)

critical(self, 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)

fatal(self, 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)

log(self, 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)

handle(self, 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.

callHandlers(self, 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.

getEffectiveLevel(self)

 

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.