登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  python教程

Pythonlogging日志文件写入方法

时间:2026-01-20 19:50:39 468浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《Python logging 写入日志文件方法》,聊聊,我们一起来看看吧!

使用logging.basicConfig()可将日志写入文件,如指定filename='app.log'和format格式;进阶用法通过Logger对象添加FileHandler和StreamHandler,实现日志同时输出到文件和控制台,并可设置编码、格式、级别及防止重复输出。

Python 使用 logging 将日志写入文件

在 Python 中使用 logging 模块将日志写入文件是一个常见且重要的需求,有助于调试和监控程序运行状态。下面介绍如何正确配置 logging,将日志输出到文件中。

基本用法:写入日志到文件

最简单的方式是使用 logging.basicConfig() 设置日志输出文件和格式:

import logging

配置日志,写入到文件 app.log

logging.basicConfig( level=logging.INFO, filename='app.log', filemode='a', # 追加模式 format='%(asctime)s - %(levelname)s - %(message)s' )

写入几条日志

logging.info("程序启动") logging.warning("这是一个警告") logging.error("发生了一个错误")

执行后会在当前目录生成 app.log 文件,内容类似:

2024-04-05 10:20:30,123 - INFO - 程序启动
2024-04-05 10:20:30,124 - WARNING - 这是一个警告
2024-04-05 10:20:30,124 - ERROR - 发生了一个错误

进阶配置:同时输出到文件和控制台

有时候你希望日志既写入文件,又在终端显示。可以通过添加多个 handler 实现:

import logging

创建 logger

logger = logging.getLogger('MyApp') logger.setLevel(logging.DEBUG)

防止重复输出

logger.propagate = False

文件处理器

file_handler = logging.FileHandler('app.log', mode='a', encoding='utf-8') file_formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(funcName)s - %(message)s') file_handler.setFormatter(file_formatter) logger.addHandler(file_handler)

控制台处理器

console_handler = logging.StreamHandler() console_formatter = logging.Formatter('%(levelname)s: %(message)s') console_handler.setFormatter(console_formatter) logger.addHandler(console_handler)

使用

logger.info("这条日志会出现在文件和终端") logger.error("出错了!")

实用建议

  • 设置合适的日志级别:开发时可用 DEBUG,生产环境建议用 INFO 或 WARNING
  • 使用正确的文件编码:特别是记录中文时,指定 encoding='utf-8'
  • 合理选择 filemode'a' 是追加,'w' 每次清空重写
  • 按日期分割日志:可配合 logging.handlers.TimedRotatingFileHandler 实现自动轮转
  • 避免重复日志:自定义 logger 时设置 propagate=False 可防止向上层传递

基本上就这些。logging 模块功能强大,掌握基础用法后可以逐步扩展更复杂的日志管理策略。

今天关于《Pythonlogging日志文件写入方法》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>