首页 > 解决方案 > 配置格式 Python Logger 的问题

问题描述

如果我设置logging.basicConfig(level=INFO, filename="..."),我将看到的唯一内容就是我放入的实际消息logger.info("...").

例如,如果我写:

logger.info("blah blah blah")

我将在控制台中看到的是:

blah blah blah

我还想看到 logger.info 的程序行号。比如说logger.info,在 main.py 的第 64 行:

line number 64 main.py: blah blah blah

我应该改变什么才能在 python 的记录器设置中看到这个?

标签: pythonlogging

解决方案


You can use Python logging formatters to do something like this:

import logging

def main():
    logging.basicConfig(format='{%(pathname)s:%(lineno)d}: %(message)s', level=logging.INFO)

    logging.info('test')

if __name__ == '__main__':
    main()

which outputs

{test.py:6}: test

推荐阅读