1 <?xml version="1.0" encoding="ascii"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6 <title>lxml.etree.PyErrorLog</title>
7 <link rel="stylesheet" href="epydoc.css" type="text/css" />
8 <script type="text/javascript" src="epydoc.js"></script>
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15 bgcolor="#a0c0ff" cellspacing="0">
18 <th> <a
19 href="lxml-module.html">Home</a> </th>
22 <th> <a
23 href="module-tree.html">Trees</a> </th>
26 <th> <a
27 href="identifier-index.html">Indices</a> </th>
30 <th> <a
31 href="help.html">Help</a> </th>
33 <!-- Project homepage -->
34 <th class="navbar" align="right" width="100%">
35 <table border="0" cellpadding="0" cellspacing="0">
36 <tr><th class="navbar" align="center"
37 ><a class="navbar" target="_top" href="/">lxml API</a></th>
41 <table width="100%" cellpadding="0" cellspacing="0">
44 <span class="breadcrumbs">
45 <a href="lxml-module.html">Package lxml</a> ::
46 <a href="lxml.etree-module.html">Module etree</a> ::
51 <table cellpadding="0" cellspacing="0">
52 <!-- hide/show private -->
53 <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
54 onclick="toggle_private();">hide private</a>]</span></td></tr>
55 <tr><td align="right"><span class="options"
56 >[<a href="frames.html" target="_top">frames</a
57 >] | <a href="lxml.etree.PyErrorLog-class.html"
58 target="_top">no frames</a>]</span></td></tr>
63 <!-- ==================== CLASS DESCRIPTION ==================== -->
64 <h1 class="epydoc">Class PyErrorLog</h1><p class="nomargin-top"></p>
65 <pre class="base-tree">
68 <a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a> --+
70 <strong class="uidshort">PyErrorLog</strong>
74 <p>PyErrorLog(self, logger_name=None, logger=None)
75 A global error log that connects to the Python stdlib logging package.</p>
76 <p>The constructor accepts an optional logger name or a readily
77 instantiated logger instance.</p>
78 <p>If you want to change the mapping between libxml2's ErrorLevels and Python
79 logging levels, you can modify the level_map dictionary from a subclass.</p>
80 <p>The default mapping is:</p>
81 <pre class="rst-literal-block">
82 ErrorLevels.WARNING = logging.WARNING
83 ErrorLevels.ERROR = logging.ERROR
84 ErrorLevels.FATAL = logging.CRITICAL
86 <p>You can also override the method <tt class="rst-docutils literal">receive()</tt> that takes a LogEntry
87 object and calls <tt class="rst-docutils literal">self.log(log_entry, format_string, arg1, arg2, <span class="pre">...)</span></tt>
88 with appropriate data.</p>
90 <!-- ==================== INSTANCE METHODS ==================== -->
91 <a name="section-InstanceMethods"></a>
92 <table class="summary" border="1" cellpadding="3"
93 cellspacing="0" width="100%" bgcolor="white">
94 <tr bgcolor="#70b0f0" class="table-header">
95 <td colspan="2" class="table-header">
96 <table border="0" cellpadding="0" cellspacing="0" width="100%">
98 <td align="left"><span class="table-header">Instance Methods</span></td>
99 <td align="right" valign="top"
100 ><span class="options">[<a href="#section-InstanceMethods"
101 class="privatelink" onclick="toggle_private();"
102 >hide private</a>]</span></td>
108 <td width="15%" align="right" valign="top" class="summary">
109 <span class="summary-type"> </span>
110 </td><td class="summary">
111 <table width="100%" cellpadding="0" cellspacing="0" border="0">
113 <td><span class="summary-sig"><a href="lxml.etree.PyErrorLog-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
114 <span class="summary-sig-arg">logger_name</span>=<span class="summary-sig-default">None</span>,
115 <span class="summary-sig-arg">logger</span>=<span class="summary-sig-default">None</span>)</span><br />
116 x.__init__(...) initializes x; see help(type(x)) for signature</td>
117 <td align="right" valign="top">
127 <td width="15%" align="right" valign="top" class="summary">
128 <span class="summary-type">a new object with type S, a subtype of T</span>
129 </td><td class="summary">
130 <table width="100%" cellpadding="0" cellspacing="0" border="0">
132 <td><span class="summary-sig"><a href="lxml.etree.PyErrorLog-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
133 <span class="summary-sig-arg">S</span>,
134 <span class="summary-sig-arg">...</span>)</span></td>
135 <td align="right" valign="top">
145 <td width="15%" align="right" valign="top" class="summary">
146 <span class="summary-type"> </span>
147 </td><td class="summary">
148 <table width="100%" cellpadding="0" cellspacing="0" border="0">
150 <td><span class="summary-sig"><a href="lxml.etree.PyErrorLog-class.html#copy" class="summary-sig-name">copy</a>(<span class="summary-sig-arg">...</span>)</span><br />
151 Dummy method that returns an empty error log.</td>
152 <td align="right" valign="top">
162 <td width="15%" align="right" valign="top" class="summary">
163 <span class="summary-type"> </span>
164 </td><td class="summary">
165 <table width="100%" cellpadding="0" cellspacing="0" border="0">
167 <td><span class="summary-sig"><a href="lxml.etree.PyErrorLog-class.html#log" class="summary-sig-name">log</a>(<span class="summary-sig-arg">self</span>,
168 <span class="summary-sig-arg">log_entry</span>,
169 <span class="summary-sig-arg">message</span>,
170 <span class="summary-sig-arg">*args</span>)</span><br />
171 Called by the .receive() method to log a _LogEntry instance to
172 the Python logging system. This handles the error level
174 <td align="right" valign="top">
184 <td width="15%" align="right" valign="top" class="summary">
185 <span class="summary-type"> </span>
186 </td><td class="summary">
187 <table width="100%" cellpadding="0" cellspacing="0" border="0">
189 <td><span class="summary-sig"><a href="lxml.etree.PyErrorLog-class.html#receive" class="summary-sig-name">receive</a>(<span class="summary-sig-arg">self</span>,
190 <span class="summary-sig-arg">log_entry</span>)</span><br />
191 Receive a _LogEntry instance from the logging system. Calls
192 the .log() method with appropriate parameters:</td>
193 <td align="right" valign="top">
203 <td colspan="2" class="summary">
204 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a></code></b>:
205 <code><a href="lxml.etree._BaseErrorLog-class.html#__repr__">__repr__</a></code>
207 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
208 <code>__delattr__</code>,
209 <code>__format__</code>,
210 <code>__getattribute__</code>,
211 <code>__hash__</code>,
212 <code>__reduce__</code>,
213 <code>__reduce_ex__</code>,
214 <code>__setattr__</code>,
215 <code>__sizeof__</code>,
216 <code>__str__</code>,
217 <code>__subclasshook__</code>
222 <!-- ==================== PROPERTIES ==================== -->
223 <a name="section-Properties"></a>
224 <table class="summary" border="1" cellpadding="3"
225 cellspacing="0" width="100%" bgcolor="white">
226 <tr bgcolor="#70b0f0" class="table-header">
227 <td colspan="2" class="table-header">
228 <table border="0" cellpadding="0" cellspacing="0" width="100%">
230 <td align="left"><span class="table-header">Properties</span></td>
231 <td align="right" valign="top"
232 ><span class="options">[<a href="#section-Properties"
233 class="privatelink" onclick="toggle_private();"
234 >hide private</a>]</span></td>
240 <td width="15%" align="right" valign="top" class="summary">
241 <span class="summary-type"> </span>
242 </td><td class="summary">
243 <a name="level_map"></a><span class="summary-name">level_map</span>
247 <td colspan="2" class="summary">
248 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a></code></b>:
249 <code><a href="lxml.etree._BaseErrorLog-class.html#last_error">last_error</a></code>
251 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
252 <code>__class__</code>
257 <!-- ==================== METHOD DETAILS ==================== -->
258 <a name="section-MethodDetails"></a>
259 <table class="details" border="1" cellpadding="3"
260 cellspacing="0" width="100%" bgcolor="white">
261 <tr bgcolor="#70b0f0" class="table-header">
262 <td colspan="2" class="table-header">
263 <table border="0" cellpadding="0" cellspacing="0" width="100%">
265 <td align="left"><span class="table-header">Method Details</span></td>
266 <td align="right" valign="top"
267 ><span class="options">[<a href="#section-MethodDetails"
268 class="privatelink" onclick="toggle_private();"
269 >hide private</a>]</span></td>
275 <a name="__init__"></a>
277 <table class="details" border="1" cellpadding="3"
278 cellspacing="0" width="100%" bgcolor="white">
280 <table width="100%" cellpadding="0" cellspacing="0" border="0">
281 <tr valign="top"><td>
282 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
283 <span class="sig-arg">logger_name</span>=<span class="sig-default">None</span>,
284 <span class="sig-arg">logger</span>=<span class="sig-default">None</span>)</span>
285 <br /><em class="fname">(Constructor)</em>
287 </td><td align="right" valign="top"
292 x.__init__(...) initializes x; see help(type(x)) for signature
300 <a name="__new__"></a>
302 <table class="details" border="1" cellpadding="3"
303 cellspacing="0" width="100%" bgcolor="white">
305 <table width="100%" cellpadding="0" cellspacing="0" border="0">
306 <tr valign="top"><td>
307 <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
308 <span class="sig-arg">S</span>,
309 <span class="sig-arg">...</span>)</span>
311 </td><td align="right" valign="top"
318 <dt>Returns: a new object with type S, a subtype of T</dt>
327 <table class="details" border="1" cellpadding="3"
328 cellspacing="0" width="100%" bgcolor="white">
330 <table width="100%" cellpadding="0" cellspacing="0" border="0">
331 <tr valign="top"><td>
332 <h3 class="epydoc"><span class="sig"><span class="sig-name">copy</span>(<span class="sig-arg">...</span>)</span>
334 </td><td align="right" valign="top"
339 Dummy method that returns an empty error log.
342 <a href="lxml.etree._BaseErrorLog-class.html#copy">_BaseErrorLog.copy</a>
349 <table class="details" border="1" cellpadding="3"
350 cellspacing="0" width="100%" bgcolor="white">
352 <table width="100%" cellpadding="0" cellspacing="0" border="0">
353 <tr valign="top"><td>
354 <h3 class="epydoc"><span class="sig"><span class="sig-name">log</span>(<span class="sig-arg">self</span>,
355 <span class="sig-arg">log_entry</span>,
356 <span class="sig-arg">message</span>,
357 <span class="sig-arg">*args</span>)</span>
359 </td><td align="right" valign="top"
364 <p>Called by the .receive() method to log a _LogEntry instance to
365 the Python logging system. This handles the error level
367 <p>In the default implementation, the <tt class="rst-docutils literal">message</tt> argument
368 receives a complete log line, and there are no further
369 <tt class="rst-docutils literal">args</tt>. To change the message format, it is best to
370 override the .receive() method instead of this one.</p>
375 <a name="receive"></a>
377 <table class="details" border="1" cellpadding="3"
378 cellspacing="0" width="100%" bgcolor="white">
380 <table width="100%" cellpadding="0" cellspacing="0" border="0">
381 <tr valign="top"><td>
382 <h3 class="epydoc"><span class="sig"><span class="sig-name">receive</span>(<span class="sig-arg">self</span>,
383 <span class="sig-arg">log_entry</span>)</span>
385 </td><td align="right" valign="top"
390 <p>Receive a _LogEntry instance from the logging system. Calls
391 the .log() method with appropriate parameters:</p>
392 <pre class="rst-literal-block">
393 self.log(log_entry, repr(log_entry))
395 <p>You can override this method to provide your own log output
399 <a href="lxml.etree._BaseErrorLog-class.html#receive">_BaseErrorLog.receive</a>
405 <!-- ==================== NAVIGATION BAR ==================== -->
406 <table class="navbar" border="0" width="100%" cellpadding="0"
407 bgcolor="#a0c0ff" cellspacing="0">
410 <th> <a
411 href="lxml-module.html">Home</a> </th>
414 <th> <a
415 href="module-tree.html">Trees</a> </th>
418 <th> <a
419 href="identifier-index.html">Indices</a> </th>
422 <th> <a
423 href="help.html">Help</a> </th>
425 <!-- Project homepage -->
426 <th class="navbar" align="right" width="100%">
427 <table border="0" cellpadding="0" cellspacing="0">
428 <tr><th class="navbar" align="center"
429 ><a class="navbar" target="_top" href="/">lxml API</a></th>
433 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
435 <td align="left" class="footer">
436 Generated by Epydoc 3.0.1 on Tue Jul 31 10:14:18 2012
438 <td align="right" class="footer">
439 <a target="mainFrame" href="http://epydoc.sourceforge.net"
440 >http://epydoc.sourceforge.net</a>
445 <script type="text/javascript">
447 // Private objects are initially displayed (because if
448 // javascript is turned off then we want them to be
449 // visible); but by default, we want to hide them. So hide
450 // them unless we have a cookie that says to show them.