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="http://codespeak.net/lxml/">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)
75 A global error log that connects to the Python stdlib logging package.</p>
76 <p>The constructor accepts an optional logger name.</p>
77 <p>If you want to change the mapping between libxml2's ErrorLevels and Python
78 logging levels, you can modify the level_map dictionary from a subclass.</p>
79 <p>The default mapping is:</p>
80 <pre class="rst-literal-block">
81 ErrorLevels.WARNING = logging.WARNING
82 ErrorLevels.ERROR = logging.ERROR
83 ErrorLevels.FATAL = logging.CRITICAL
85 <p>You can also override the method <tt class="rst-docutils literal"><span class="pre">receive()</span></tt> that takes a LogEntry
86 object and calls <tt class="rst-docutils literal"><span class="pre">self.log(log_entry,</span> <span class="pre">format_string,</span> <span class="pre">arg1,</span> <span class="pre">arg2,</span> <span class="pre">...)</span></tt>
87 with appropriate data.</p>
89 <!-- ==================== INSTANCE METHODS ==================== -->
90 <a name="section-InstanceMethods"></a>
91 <table class="summary" border="1" cellpadding="3"
92 cellspacing="0" width="100%" bgcolor="white">
93 <tr bgcolor="#70b0f0" class="table-header">
94 <td colspan="2" class="table-header">
95 <table border="0" cellpadding="0" cellspacing="0" width="100%">
97 <td align="left"><span class="table-header">Instance Methods</span></td>
98 <td align="right" valign="top"
99 ><span class="options">[<a href="#section-InstanceMethods"
100 class="privatelink" onclick="toggle_private();"
101 >hide private</a>]</span></td>
107 <td width="15%" align="right" valign="top" class="summary">
108 <span class="summary-type"> </span>
109 </td><td class="summary">
110 <table width="100%" cellpadding="0" cellspacing="0" border="0">
112 <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>,
113 <span class="summary-sig-arg">logger_name</span>=<span class="summary-sig-default">None</span>)</span><br />
114 x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
115 <td align="right" valign="top">
125 <td width="15%" align="right" valign="top" class="summary">
126 <span class="summary-type">a new object with type S, a subtype of T</span>
127 </td><td class="summary">
128 <table width="100%" cellpadding="0" cellspacing="0" border="0">
130 <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>,
131 <span class="summary-sig-arg">S</span>,
132 <span class="summary-sig-arg">...</span>)</span></td>
133 <td align="right" valign="top">
143 <td width="15%" align="right" valign="top" class="summary">
144 <span class="summary-type"> </span>
145 </td><td class="summary">
146 <table width="100%" cellpadding="0" cellspacing="0" border="0">
148 <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 />
149 Dummy method that returns an empty error log.</td>
150 <td align="right" valign="top">
160 <td width="15%" align="right" valign="top" class="summary">
161 <span class="summary-type"> </span>
162 </td><td class="summary">
163 <table width="100%" cellpadding="0" cellspacing="0" border="0">
165 <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>,
166 <span class="summary-sig-arg">log_entry</span>,
167 <span class="summary-sig-arg">message</span>,
168 <span class="summary-sig-arg">*args</span>)</span><br />
169 Called by the .receive() method to log a _LogEntry instance to
170 the Python logging system.</td>
171 <td align="right" valign="top">
181 <td width="15%" align="right" valign="top" class="summary">
182 <span class="summary-type"> </span>
183 </td><td class="summary">
184 <table width="100%" cellpadding="0" cellspacing="0" border="0">
186 <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>,
187 <span class="summary-sig-arg">log_entry</span>)</span><br />
188 Receive a _LogEntry instance from the logging system.</td>
189 <td align="right" valign="top">
199 <td colspan="2" class="summary">
200 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a></code></b>:
201 <code><a href="lxml.etree._BaseErrorLog-class.html#__repr__">__repr__</a></code>
203 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
204 <code>__delattr__</code>,
205 <code>__getattribute__</code>,
206 <code>__hash__</code>,
207 <code>__reduce__</code>,
208 <code>__reduce_ex__</code>,
209 <code>__setattr__</code>,
215 <!-- ==================== PROPERTIES ==================== -->
216 <a name="section-Properties"></a>
217 <table class="summary" border="1" cellpadding="3"
218 cellspacing="0" width="100%" bgcolor="white">
219 <tr bgcolor="#70b0f0" class="table-header">
220 <td colspan="2" class="table-header">
221 <table border="0" cellpadding="0" cellspacing="0" width="100%">
223 <td align="left"><span class="table-header">Properties</span></td>
224 <td align="right" valign="top"
225 ><span class="options">[<a href="#section-Properties"
226 class="privatelink" onclick="toggle_private();"
227 >hide private</a>]</span></td>
233 <td width="15%" align="right" valign="top" class="summary">
234 <span class="summary-type"> </span>
235 </td><td class="summary">
236 <a name="level_map"></a><span class="summary-name">level_map</span>
240 <td colspan="2" class="summary">
241 <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a></code></b>:
242 <code><a href="lxml.etree._BaseErrorLog-class.html#last_error">last_error</a></code>
244 <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
245 <code>__class__</code>
250 <!-- ==================== METHOD DETAILS ==================== -->
251 <a name="section-MethodDetails"></a>
252 <table class="details" border="1" cellpadding="3"
253 cellspacing="0" width="100%" bgcolor="white">
254 <tr bgcolor="#70b0f0" class="table-header">
255 <td colspan="2" class="table-header">
256 <table border="0" cellpadding="0" cellspacing="0" width="100%">
258 <td align="left"><span class="table-header">Method Details</span></td>
259 <td align="right" valign="top"
260 ><span class="options">[<a href="#section-MethodDetails"
261 class="privatelink" onclick="toggle_private();"
262 >hide private</a>]</span></td>
268 <a name="__init__"></a>
270 <table class="details" border="1" cellpadding="3"
271 cellspacing="0" width="100%" bgcolor="white">
273 <table width="100%" cellpadding="0" cellspacing="0" border="0">
274 <tr valign="top"><td>
275 <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
276 <span class="sig-arg">logger_name</span>=<span class="sig-default">None</span>)</span>
277 <br /><em class="fname">(Constructor)</em>
279 </td><td align="right" valign="top"
284 x.__init__(...) initializes x; see x.__class__.__doc__ for signature
292 <a name="__new__"></a>
294 <table class="details" border="1" cellpadding="3"
295 cellspacing="0" width="100%" bgcolor="white">
297 <table width="100%" cellpadding="0" cellspacing="0" border="0">
298 <tr valign="top"><td>
299 <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
300 <span class="sig-arg">S</span>,
301 <span class="sig-arg">...</span>)</span>
303 </td><td align="right" valign="top"
310 <dt>Returns: a new object with type S, a subtype of T</dt>
319 <table class="details" border="1" cellpadding="3"
320 cellspacing="0" width="100%" bgcolor="white">
322 <table width="100%" cellpadding="0" cellspacing="0" border="0">
323 <tr valign="top"><td>
324 <h3 class="epydoc"><span class="sig"><span class="sig-name">copy</span>(<span class="sig-arg">...</span>)</span>
326 </td><td align="right" valign="top"
331 Dummy method that returns an empty error log.
334 <a href="lxml.etree._BaseErrorLog-class.html#copy">_BaseErrorLog.copy</a>
341 <table class="details" border="1" cellpadding="3"
342 cellspacing="0" width="100%" bgcolor="white">
344 <table width="100%" cellpadding="0" cellspacing="0" border="0">
345 <tr valign="top"><td>
346 <h3 class="epydoc"><span class="sig"><span class="sig-name">log</span>(<span class="sig-arg">self</span>,
347 <span class="sig-arg">log_entry</span>,
348 <span class="sig-arg">message</span>,
349 <span class="sig-arg">*args</span>)</span>
351 </td><td align="right" valign="top"
356 <p>Called by the .receive() method to log a _LogEntry instance to
357 the Python logging system. This handles the error level
359 <p>In the default implementation, the <tt class="rst-docutils literal"><span class="pre">message</span></tt> argument
360 receives a complete log line, and there are no further
361 <tt class="rst-docutils literal"><span class="pre">args</span></tt>. To change the message format, it is best to
362 override the .receive() method instead of this one.</p>
367 <a name="receive"></a>
369 <table class="details" border="1" cellpadding="3"
370 cellspacing="0" width="100%" bgcolor="white">
372 <table width="100%" cellpadding="0" cellspacing="0" border="0">
373 <tr valign="top"><td>
374 <h3 class="epydoc"><span class="sig"><span class="sig-name">receive</span>(<span class="sig-arg">self</span>,
375 <span class="sig-arg">log_entry</span>)</span>
377 </td><td align="right" valign="top"
382 <p>Receive a _LogEntry instance from the logging system. Calls
383 the .log() method with appropriate parameters:</p>
384 <pre class="rst-literal-block">
385 self.log(log_entry, repr(log_entry))
387 <p>You can override this method to provide your own log output
394 <!-- ==================== NAVIGATION BAR ==================== -->
395 <table class="navbar" border="0" width="100%" cellpadding="0"
396 bgcolor="#a0c0ff" cellspacing="0">
399 <th> <a
400 href="lxml-module.html">Home</a> </th>
403 <th> <a
404 href="module-tree.html">Trees</a> </th>
407 <th> <a
408 href="identifier-index.html">Indices</a> </th>
411 <th> <a
412 href="help.html">Help</a> </th>
414 <!-- Project homepage -->
415 <th class="navbar" align="right" width="100%">
416 <table border="0" cellpadding="0" cellspacing="0">
417 <tr><th class="navbar" align="center"
418 ><a class="navbar" target="_top" href="http://codespeak.net/lxml/">lxml API</a></th>
422 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
424 <td align="left" class="footer">
425 Generated by Epydoc 3.0 on Fri Oct 30 14:51:45 2009
427 <td align="right" class="footer">
428 <a target="mainFrame" href="http://epydoc.sourceforge.net"
429 >http://epydoc.sourceforge.net</a>
434 <script type="text/javascript">
436 // Private objects are initially displayed (because if
437 // javascript is turned off then we want them to be
438 // visible); but by default, we want to hide them. So hide
439 // them unless we have a cookie that says to show them.