Python logging模块日志路径错误:未写入指定文件夹
问题分析与解决方法
核心问题
你在logging.basicConfig()中指定的filename参数是仅含文件名的log_filename,而非拼接了完整路径的log_filepath。当仅传入文件名时,logging模块会默认在当前工作目录(此处为桌面)生成日志文件,而非你预期的C:\Users\xyzzz\Desktop\logs文件夹。
修正代码
只需将logging.basicConfig的filename参数替换为拼接好的log_filepath即可:
import os import datetime import logging file_folder = "C:\\Users\\xyzzz\\Desktop\\logs" log_filename = f"log_{datetime.now().strftime('%d%m%y-%H%M%S')}" log_filepath = os.path.join(file_folder, log_filename) print(log_filepath) # 关键修改:使用完整路径log_filepath作为日志文件路径 logging.basicConfig(level=logging.INFO, filename=log_filepath, filemode="w", format="%(asctime)s - %(levelname)s - %(message)s", force=True)
额外建议
为避免因目标文件夹不存在导致日志写入失败,可以提前检查并创建文件夹:
# 确保日志文件夹存在,不存在则创建 if not os.path.exists(file_folder): os.makedirs(file_folder)
内容的提问来源于stack exchange,提问作者Dolliy
相关产品推荐
相关产品推荐

