相关疑难解决方法(0)

Python:使用自定义*kwargs记录异常

您可能知道python日志记录模块支持*kwargs定义来自定义日志条目.记录异常似乎不支持此操作.

我的问题:使用logging.exception有一种简单的方法来使用自定义kwargs吗?

最小的例子如下:

import logging
import logging.handlers

def create_logger(): 
    """ initialize logging using sys log

    """
    logger = logging.getLogger()

    form = '%(asctime)s [%(levelname)-8s] %(xyz)s %(message)s'
    local_log_handler = logging.handlers.SysLogHandler(address='/dev/log')
    formatter = logging.Formatter(form)
    local_log_handler.setFormatter(formatter)

    logger.addHandler(local_log_handler)
    return logger

log = create_logger()
try:
    raise AttributeError("whatever")
except:
    log.warn('Alarm! Fire!', extra={'xyz':'POLICE'})
    log.exception('')
Run Code Online (Sandbox Code Playgroud)

输出:

Traceback (most recent call last):
  File "logexample.py", line 27, in <module>
    log.exception('')
  File "/usr/lib/python2.7/logging/__init__.py", line 1172, in exception
    self.error(msg, exc_info=1, *args)
  File "/usr/lib/python2.7/logging/__init__.py", line 1166, in error …
Run Code Online (Sandbox Code Playgroud)

logging exception-handling python-2.7

3
推荐指数
1
解决办法
3400
查看次数

标签 统计

exception-handling ×1

logging ×1

python-2.7 ×1