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

_ClassType Handler

Filterer --+
           |
          Handler
Known Subclasses:

Handler instances dispatch logging events to specific destinations.

The base handler class. Acts as a placeholder which defines the Handler interface. Handlers can optionally use Formatter instances to format records as desired. By default, no formatter is specified; in this case, the 'raw' message as determined by record.message is logged.

Instance Methods [hide private]
 
__init__(self, level=0)
Initializes the instance - basically setting the formatter to None and the filter list to empty.
 
createLock(self)
Acquire a thread lock for serializing access to the underlying I/O.
 
acquire(self)
Acquire the I/O thread lock.
 
release(self)
Release the I/O thread lock.
 
setLevel(self, level)
Set the logging level of this handler.
 
format(self, record)
Format the specified record.
 
emit(self, record)
Do whatever it takes to actually log the specified logging record.
 
handle(self, record)
Conditionally emit the specified logging record.
 
setFormatter(self, fmt)
Set the formatter for this handler.
 
flush(self)
Ensure all logging output has been flushed.
 
close(self)
Tidy up any resources used by the handler.
 
handleError(self, record)
Handle errors which occur during an emit() call.

Inherited from Filterer: addFilter, filter, removeFilter

Method Details [hide private]

__init__(self, level=0)
(Constructor)

 

Initializes the instance - basically setting the formatter to None and the filter list to empty.

Overrides: Filterer.__init__

format(self, record)

 

Format the specified record.

If a formatter is set, use it. Otherwise, use the default formatter for the module.

emit(self, record)

 

Do whatever it takes to actually log the specified logging record.

This version is intended to be implemented by subclasses and so raises a NotImplementedError.

handle(self, record)

 

Conditionally emit the specified logging record.

Emission depends on filters which may have been added to the handler. Wrap the actual emission of the record with acquisition/release of the I/O thread lock. Returns whether the filter passed the record for emission.

flush(self)

 

Ensure all logging output has been flushed.

This version does nothing and is intended to be implemented by subclasses.

close(self)

 

Tidy up any resources used by the handler.

This version does removes the handler from an internal list of handlers which is closed when shutdown() is called. Subclasses should ensure that this gets called from overridden close() methods.

handleError(self, record)

 

Handle errors which occur during an emit() call.

This method should be called from handlers when an exception is encountered during an emit() call. If raiseExceptions is false, exceptions get silently ignored. This is what is mostly wanted for a logging system - most users will not care about errors in the logging system, they are more interested in application errors. You could, however, replace this with a custom handler if you wish. The record which was being processed is passed in to this method.