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 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, logger=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.