擅长:python、mysql、java
<p>您需要将dict作为参数传递给extra才能这样做。</p>
<pre><code>logging.info('Log message', extra={'app_name': 'myapp'})
</code></pre>
<p>证明:</p>
<pre><code>>>> import logging
>>> logging.basicConfig(format="%(foo)s - %(message)s")
>>> logging.warning('test', extra={'foo': 'bar'})
bar - test
</code></pre>
<p>另外,需要注意的是,如果您尝试在不传递dict的情况下记录消息,那么它将失败。</p>
<pre><code>>>> logging.warning('test')
Traceback (most recent call last):
File "/usr/lib/python2.7/logging/__init__.py", line 846, in emit
msg = self.format(record)
File "/usr/lib/python2.7/logging/__init__.py", line 723, in format
return fmt.format(record)
File "/usr/lib/python2.7/logging/__init__.py", line 467, in format
s = self._fmt % record.__dict__
KeyError: 'foo'
Logged from file <stdin>, line 1
</code></pre>