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

如何在Heroku上查看与本地一致的Django运行服务日志?

可以实现,你之前执行heroku logs --tail仅能看到平台输出,是因为默认配置下Django生产环境不会把运行日志输出到标准输出流,Heroku的日志采集系统无法捕获这部分内容。只需要调整Django的日志配置,让日志输出到标准输出,即可得到和本地运行时完全一致的Django日志。

配置步骤
  • 修改Django项目的settings.py文件,添加如下日志配置:
import logging
import sys

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        # 与本地runserver输出格式对齐的请求日志格式化器
        'django.server': {
            '()': 'django.utils.log.ServerFormatter',
            'format': '[{server_time}] {message}',
            'style': '{',
        },
        # 通用运行日志格式化器
        'standard': {
            'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
        },
    },
    'handlers': {
        # 所有日志输出到标准输出,供Heroku采集
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
            'formatter': 'standard',
        },
        'django.server': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
            'formatter': 'django.server',
        },
    },
    'loggers': {
        # Django核心日志
        'django': {
            'handlers': ['console'],
            'level': 'INFO',
            'propagate': True,
        },
        # Django服务请求日志
        'django.server': {
            'handlers': ['django.server'],
            'level': 'INFO',
            'propagate': False,
        },
        # 替换为你的自定义应用名,捕获应用内打印的日志
        'myapp': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': True,
        }
    }
}
  • 将修改后的代码提交部署到Heroku即可。
使用说明
  • 配置生效后,执行heroku logs --tail即可看到完整的Django运行日志,包含请求记录、报错堆栈、自定义日志内容,和本地运行时输出完全一致
  • 如果需要过滤掉Heroku平台日志,仅查看Django日志,可以执行命令:heroku logs --tail | grep "django"
注意事项
  • 生产环境请保持DEBUG = False,该日志配置在调试模式关闭状态下依然正常生效
  • 不要将日志输出到本地文件,Heroku的文件系统是临时的,重启实例后本地文件会丢失,输出到标准输出是唯一稳定的日志采集方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:36:03