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

Class PyErrorLog

   object --+    
            |    
_BaseErrorLog --+
                |
               PyErrorLog

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

The constructor accepts an optional logger name.

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)
x.__init__(...) initializes x; see x.__class__.__doc__ 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)
(Constructor)

 
x.__init__(...) initializes x; see x.__class__.__doc__ 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.