You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python logging模块使用异常:无时间戳、日志不写入需重启内核

核心原因

logging模块的basicConfig仅首次调用生效,只要之前已经有日志Handler被创建(比如Notebook/IDE内核预初始化了logging配置、之前运行过logging相关代码未清理),后续所有basicConfig调用都会被直接忽略,这是三个问题的共同根源。

解决方法

  • 常规场景:确保basicConfig是导入logging后执行的第一个logging相关操作,调用basicConfig前不要执行任何log.info/log.debug等日志输出语句
  • 无需重启内核的动态配置方案:先清空已有的默认Handler,再加载自定义配置,示例代码如下:
import logging as log

# 清空已有根日志Handler,清除旧配置干扰
for handler in log.root.handlers[:]:
    log.root.removeHandler(handler)

# 加载自定义配置,路径加r前缀避免转义字符异常
log.basicConfig(
    filename=r"C:\Users\ASUS\log test\test.log",
    level=log.INFO,
    format = '%(asctime)s %(message)s'
)

# 测试输出
log.info("Hey, this is an info")
  • 额外排查点:确认指定的日志文件没有被其他进程占用锁定,否则会出现写入失败的问题。

问题对应说明

  1. 日志无日期时间:旧的默认Handler未加载你指定的format配置,使用了默认无时间的输出格式
  2. log.info无内容写入:旧配置的日志级别高于INFO,或旧Handler的输出路径不是你指定的日志文件
  3. 必须重启内核才生效:重启内核会清空所有已加载的logging配置,首次调用basicConfig可正常生效

内容的提问来源于stack exchange,提问作者user7515414

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:45:02