擅长:python、mysql、java
<p>为控制台处理程序创建一个<code>logging.Formatter</code>子类,该子类从其<code>formatException</code>方法返回一个空字符串。在</p>
<p>异常文本缓存在记录中(在属性<code>exc_text</code>)中:如果这是一个假值(例如空字符串),那么将调用<code>formatException()</code>来重新填充它,否则就不会。因此,在formatter类中,在调用超类<code>format()</code>方法之前,可能需要重写<code>format()</code>方法,并将<code>record.exc_text</code>设置为假值,以确保被重写的<code>formatException()</code>被调用。例如(未测试):</p>
<pre><code>class NoExceptionFormatter(logging.Formatter):
def format(self, record):
record.exc_text = '' # ensure formatException gets called
return super(NoExceptionFormatter, self).format(record)
def formatException(self, record):
return ''
</code></pre>