【问题标题】:How to Use Django Logging with Heroku Papertrail & Waitress如何在 Heroku Papertrail 和 Waitress 中使用 Django 日志记录
【发布时间】:2016-08-16 20:31:10
【问题描述】:

所以我一直在尝试在 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 中?

【问题讨论】:

    标签: python django logging heroku papertrail-app


    【解决方案1】:

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

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

    您需要将您的应用(比如说它称为myapp)添加到您的日志记录配置中:

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

    【讨论】:

    • 谢谢,完美!事实证明,我还需要使用 logger.warning() 及更高版本进行登录
    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    相关资源
    最近更新 更多