如何使用 Django Logging with Heroku Papertrail & Waitress



所以我一直在尝试让日志记录在运行在 Heroku 上的 Waitress 服务器上与 Django 1.9.5/Python 3 一起工作,但到目前为止我无法做到。这是我添加到生产服务器 Django 设置中的配置:

settings.py

LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "handlers": {
        "console": {
            "level": "INFO",
            "class": "logging.StreamHandler",
            "stream": sys.stdout
        },
    },
    "loggers": {
        "django": {
            "handlers": ["console"],
        }
    }
}

views.py

logger = logging.getLogger(__name__)
class IndexView(View):
    def get(self, request):
        logger.info('This is a test INFO error')
        return render(request, 'index.html', {})

任何想法为什么这没有在我的 Heroku Papertrail 中输出任何东西?

日志记录配置设置为捕获 django 命名空间下的所有日志,但在views.py中,您使用不同的命名空间集具有:

logger = logging.getLogger(__name__) # __name__ resolves to the name of your app.

您需要将应用(假设它称为 myapp)添加到日志记录配置中:

"loggers": {
    "django": {
        "handlers": ["console"],
    },
    "myapp": {
        "handlers": ["console"],
    }
}

相关内容

  • 没有找到相关文章

最新更新