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

VSCode中Python代码Run无日志输出,Run and Debug正常求助

Python日志写入问题:仅Run and Debug模式生效排查方案

问题背景

此前Python代码通过VSCode的Run选项可将日志写入validation.log,但近期该功能失效,仅Run and Debug模式能正常生成日志。使用Python标准库logging.basicConfig配置日志,相关代码如下:

日志配置代码

import logging
import requests
logging.basicConfig(filename='validation.log', filemode='a', level=logging.ERROR, format='%(asctime)s: %(message)s',datefmt='%H,%M,%S')

日志调用语句

logging.error(f"Server: {server} - Success! end point is accessible. Response Code: {response_getwave.status_code}\n")

排查与解决步骤

  • 检查工作目录差异
    VSCode的Run和Run and Debug可能使用不同工作目录,导致日志文件生成在非预期位置。添加代码打印当前工作目录验证:
import os
print("当前工作目录:", os.getcwd())

若目录不一致,可通过两种方式解决:

  1. 调整VSCode设置:将python.terminal.executeInFileDir设为true,让Run选项在脚本所在目录执行;
  2. 在logging.basicConfig中使用绝对路径指定日志文件位置,避免目录歧义。
  • 确保日志初始化优先级
    如果在调用logging.basicConfig前已有其他模块(如requests)初始化了日志,会导致basicConfig配置不生效。调整代码顺序,先配置日志再导入其他库:
import logging
logging.basicConfig(filename='validation.log', filemode='a', level=logging.ERROR, format='%(asctime)s: %(message)s',datefmt='%H,%M,%S')
import requests
  • 排查文件权限问题
    Run选项使用的权限可能无法写入目标目录。手动在Run模式的工作目录下创建validation.log并赋予读写权限,再测试日志写入。

  • 验证日志级别配置
    临时将日志级别改为logging.DEBUG,确认logging.error调用是否能触发日志输出,排除级别配置错误的可能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 17:43:19