侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

python 使用 logging 的一些心得

barwe
2022-06-22 / 0 评论 / 0 点赞 / 715 阅读 / 831 字
温馨提示:
本文最后更新于 2022-07-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

获取日志等级列表

log_levels = [x for x in dir(logging) if (x.upper() == x and '_' not in x)]

日志消息格式常用模板变量

  • 进程名称:%(processName)s
  • 进程 ID:%(process)d
  • 日志等级:%(levelname)s
  • 记录日志的模块:%(module)s
  • 记录日志的行号:%(lineno)d
  • 记录日志的函数:%(funcName)s
  • 时间戳:%(asctime)s
  • 消息正文:%(message)s

一个日志记录器配置,该配置一般放在入口模块的最顶部:

import os
import sys
import logging

ROOT_DIR = os.path.dirname(__file__)
sys.path.append(os.path.join(ROOT_DIR, 'src'))
logging.basicConfig(level=logging.ERROR, format=('%(asctime)s '
                                                 '%(module)s:%(lineno)d %(funcName)s '
                                                 '[%(levelname)s] %(message)s'), datefmt='%H:%M:%S %Y-%m-%d')
LEVELS = 'DEBUG|INFO|WARNING|ERROR|CRITICAL'.split('|')

打印的日志格式如下:

19:19:04 2022-06-22 fs_handler:136 read_config [INFO] Read config from /home/codespace/pathogen/pathogen_data/tasks/7/analysis.json...
19:19:04 2022-06-22 fs_handler:145 read_config [INFO] Project name: tmp_project_20220622_191904

完整文档可参考 https://zhuanlan.zhihu.com/p/476549020

0

评论区