Package lxml :: Module etree :: Class PyErrorLog
[hide private]
[frames] | no frames]

Class PyErrorLog

   object --+    
            |    
_BaseErrorLog --+
                |
               PyErrorLog

PyErrorLog(self, logger_name=None, logger=None) A global error log that connects to the Python stdlib logging package.

The constructor accepts an optional logger name or a readily instantiated logger instance.

If you want to change the mapping between libxml2's ErrorLevels and Python logging levels, you can modify the level_map dictionary from a subclass.

The default mapping is:

ErrorLevels.WARNING = logging.WARNING
ErrorLevels.ERROR   = logging.ERROR
ErrorLevels.FATAL   = logging.CRITICAL

You can also override the method receive() that takes a LogEntry object and calls self.log(log_entry, format_string, arg1, arg2, ...) with appropriate data.

Instance Methods [hide private]
 
__init__(self, logger_name=None, logger=None)
x.__init__(...) initializes x; see help(type(x)) for signature
a new object with type S, a subtype of T
__new__(T, S, ...)
 
copy(...)
Dummy method that returns an empty error log.
 
log(self, log_entry, message, *args)
Called by the .receive() method to log a _LogEntry instance to the Python logging system. This handles the error level mapping.
 
receive(self, log_entry)
Receive a _LogEntry instance from the logging system. Calls the .log() method with appropriate parameters:

Inherited from _BaseErrorLog: __repr__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]
  level_map

Inherited from _BaseErrorLog: last_error

Inherited from object: __class__

Method Details [hide private]

__init__(self, logger_name=None, logger=None)
(Constructor)

 
x.__init__(...) initializes x; see help(type(x)) for signature
Overrides: object.__init__

__new__(T, S, ...)

 
Returns: a new object with type S, a subtype of T
Overrides: object.__new__

copy(...)

 
Dummy method that returns an empty error log.
Overrides: _BaseErrorLog.copy

log(self, log_entry, message, *args)

 

Called by the .receive() method to log a _LogEntry instance to the Python logging system. This handles the error level mapping.

In the default implementation, the message argument receives a complete log line, and there are no further args. To change the message format, it is best to override the .receive() method instead of this one.

receive(self, log_entry)

 

Receive a _LogEntry instance from the logging system. Calls the .log() method with appropriate parameters:

self.log(log_entry, repr(log_entry))

You can override this method to provide your own log output format.

Overrides: _BaseErrorLog.receive