3ad33b98e696c36de0b44881db2d49c16c72cfef
[platform/upstream/python-lxml.git] / doc / html / api / lxml.etree.PyErrorLog-class.html
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">
5 <head>
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>
9 </head>
10
11 <body bgcolor="white" text="black" link="blue" vlink="#204080"
12       alink="#204080">
13 <!-- ==================== NAVIGATION BAR ==================== -->
14 <table class="navbar" border="0" width="100%" cellpadding="0"
15        bgcolor="#a0c0ff" cellspacing="0">
16   <tr valign="middle">
17   <!-- Home link -->
18       <th>&nbsp;&nbsp;&nbsp;<a
19         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
20
21   <!-- Tree link -->
22       <th>&nbsp;&nbsp;&nbsp;<a
23         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
24
25   <!-- Index link -->
26       <th>&nbsp;&nbsp;&nbsp;<a
27         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
28
29   <!-- Help link -->
30       <th>&nbsp;&nbsp;&nbsp;<a
31         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
32
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>
38           </tr></table></th>
39   </tr>
40 </table>
41 <table width="100%" cellpadding="0" cellspacing="0">
42   <tr valign="top">
43     <td width="100%">
44       <span class="breadcrumbs">
45         <a href="lxml-module.html">Package&nbsp;lxml</a> ::
46         <a href="lxml.etree-module.html">Module&nbsp;etree</a> ::
47         Class&nbsp;PyErrorLog
48       </span>
49     </td>
50     <td>
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&nbsp;private</a>]</span></td></tr>
55         <tr><td align="right"><span class="options"
56             >[<a href="frames.html" target="_top">frames</a
57             >]&nbsp;|&nbsp;<a href="lxml.etree.PyErrorLog-class.html"
58             target="_top">no&nbsp;frames</a>]</span></td></tr>
59       </table>
60     </td>
61   </tr>
62 </table>
63 <!-- ==================== CLASS DESCRIPTION ==================== -->
64 <h1 class="epydoc">Class PyErrorLog</h1><p class="nomargin-top"></p>
65 <pre class="base-tree">
66    object --+    
67             |    
68 <a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a> --+
69                 |
70                <strong class="uidshort">PyErrorLog</strong>
71 </pre>
72
73 <hr />
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
85 </pre>
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>
89
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%">
97       <tr valign="top">
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>
103       </tr>
104     </table>
105   </td>
106 </tr>
107 <tr>
108     <td width="15%" align="right" valign="top" class="summary">
109       <span class="summary-type">&nbsp;</span>
110     </td><td class="summary">
111       <table width="100%" cellpadding="0" cellspacing="0" border="0">
112         <tr>
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">
118             
119             
120           </td>
121         </tr>
122       </table>
123       
124     </td>
125   </tr>
126 <tr>
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">
131         <tr>
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">
136             
137             
138           </td>
139         </tr>
140       </table>
141       
142     </td>
143   </tr>
144 <tr>
145     <td width="15%" align="right" valign="top" class="summary">
146       <span class="summary-type">&nbsp;</span>
147     </td><td class="summary">
148       <table width="100%" cellpadding="0" cellspacing="0" border="0">
149         <tr>
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">
153             
154             
155           </td>
156         </tr>
157       </table>
158       
159     </td>
160   </tr>
161 <tr>
162     <td width="15%" align="right" valign="top" class="summary">
163       <span class="summary-type">&nbsp;</span>
164     </td><td class="summary">
165       <table width="100%" cellpadding="0" cellspacing="0" border="0">
166         <tr>
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
173 mapping.</td>
174           <td align="right" valign="top">
175             
176             
177           </td>
178         </tr>
179       </table>
180       
181     </td>
182   </tr>
183 <tr>
184     <td width="15%" align="right" valign="top" class="summary">
185       <span class="summary-type">&nbsp;</span>
186     </td><td class="summary">
187       <table width="100%" cellpadding="0" cellspacing="0" border="0">
188         <tr>
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">
194             
195             
196           </td>
197         </tr>
198       </table>
199       
200     </td>
201   </tr>
202   <tr>
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>
206       </p>
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>
218       </p>
219     </td>
220   </tr>
221 </table>
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%">
229       <tr valign="top">
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>
235       </tr>
236     </table>
237   </td>
238 </tr>
239 <tr>
240     <td width="15%" align="right" valign="top" class="summary">
241       <span class="summary-type">&nbsp;</span>
242     </td><td class="summary">
243         <a name="level_map"></a><span class="summary-name">level_map</span>
244     </td>
245   </tr>
246   <tr>
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>
250       </p>
251     <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
252       <code>__class__</code>
253       </p>
254     </td>
255   </tr>
256 </table>
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%">
264       <tr valign="top">
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>
270       </tr>
271     </table>
272   </td>
273 </tr>
274 </table>
275 <a name="__init__"></a>
276 <div>
277 <table class="details" border="1" cellpadding="3"
278        cellspacing="0" width="100%" bgcolor="white">
279 <tr><td>
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>
286   </h3>
287   </td><td align="right" valign="top"
288     >&nbsp;
289     </td>
290   </tr></table>
291   
292   x.__init__(...) initializes x; see help(type(x)) for signature
293   <dl class="fields">
294     <dt>Overrides:
295         object.__init__
296     </dt>
297   </dl>
298 </td></tr></table>
299 </div>
300 <a name="__new__"></a>
301 <div>
302 <table class="details" border="1" cellpadding="3"
303        cellspacing="0" width="100%" bgcolor="white">
304 <tr><td>
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>
310   </h3>
311   </td><td align="right" valign="top"
312     >&nbsp;
313     </td>
314   </tr></table>
315   
316   
317   <dl class="fields">
318     <dt>Returns: a new object with type S, a subtype of T</dt>
319     <dt>Overrides:
320         object.__new__
321     </dt>
322   </dl>
323 </td></tr></table>
324 </div>
325 <a name="copy"></a>
326 <div>
327 <table class="details" border="1" cellpadding="3"
328        cellspacing="0" width="100%" bgcolor="white">
329 <tr><td>
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>
333   </h3>
334   </td><td align="right" valign="top"
335     >&nbsp;
336     </td>
337   </tr></table>
338   
339   Dummy method that returns an empty error log.
340   <dl class="fields">
341     <dt>Overrides:
342         <a href="lxml.etree._BaseErrorLog-class.html#copy">_BaseErrorLog.copy</a>
343     </dt>
344   </dl>
345 </td></tr></table>
346 </div>
347 <a name="log"></a>
348 <div>
349 <table class="details" border="1" cellpadding="3"
350        cellspacing="0" width="100%" bgcolor="white">
351 <tr><td>
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>
358   </h3>
359   </td><td align="right" valign="top"
360     >&nbsp;
361     </td>
362   </tr></table>
363   
364   <p>Called by the .receive() method to log a _LogEntry instance to
365 the Python logging system.  This handles the error level
366 mapping.</p>
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>
371   <dl class="fields">
372   </dl>
373 </td></tr></table>
374 </div>
375 <a name="receive"></a>
376 <div>
377 <table class="details" border="1" cellpadding="3"
378        cellspacing="0" width="100%" bgcolor="white">
379 <tr><td>
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>
384   </h3>
385   </td><td align="right" valign="top"
386     >&nbsp;
387     </td>
388   </tr></table>
389   
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))
394 </pre>
395 <p>You can override this method to provide your own log output
396 format.</p>
397   <dl class="fields">
398     <dt>Overrides:
399         <a href="lxml.etree._BaseErrorLog-class.html#receive">_BaseErrorLog.receive</a>
400     </dt>
401   </dl>
402 </td></tr></table>
403 </div>
404 <br />
405 <!-- ==================== NAVIGATION BAR ==================== -->
406 <table class="navbar" border="0" width="100%" cellpadding="0"
407        bgcolor="#a0c0ff" cellspacing="0">
408   <tr valign="middle">
409   <!-- Home link -->
410       <th>&nbsp;&nbsp;&nbsp;<a
411         href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
412
413   <!-- Tree link -->
414       <th>&nbsp;&nbsp;&nbsp;<a
415         href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
416
417   <!-- Index link -->
418       <th>&nbsp;&nbsp;&nbsp;<a
419         href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
420
421   <!-- Help link -->
422       <th>&nbsp;&nbsp;&nbsp;<a
423         href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
424
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>
430           </tr></table></th>
431   </tr>
432 </table>
433 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
434   <tr>
435     <td align="left" class="footer">
436     Generated by Epydoc 3.0.1
437     on Wed Jan 29 12:26:21 2020
438     </td>
439     <td align="right" class="footer">
440       <a target="mainFrame" href="http://epydoc.sourceforge.net"
441         >http://epydoc.sourceforge.net</a>
442     </td>
443   </tr>
444 </table>
445
446 <script type="text/javascript">
447   <!--
448   // Private objects are initially displayed (because if
449   // javascript is turned off then we want them to be
450   // visible); but by default, we want to hide them.  So hide
451   // them unless we have a cookie that says to show them.
452   checkCookie();
453   // -->
454 </script>
455 </body>
456 </html>