diff --git a/docs/logging.rst b/docs/logging.rst index a96a8f28..937b2ae4 100644 --- a/docs/logging.rst +++ b/docs/logging.rst @@ -117,14 +117,19 @@ your own fields that can be used in messages. You can change the formatter for Flask's default handler, the mail handler defined above, or any other handler. :: - from flask import request + from flask import has_request_context, request from flask.logging import default_handler class RequestFormatter(logging.Formatter): def format(self, record): - record.url = request.url - record.remote_addr = request.remote_addr - return super(RequestFormatter, self).format(record) + if has_request_context(): + record.url = request.url + record.remote_addr = request.remote_addr + else: + record.url = None + record.remote_addr = None + + return super().format(record) formatter = RequestFormatter( '[%(asctime)s] %(remote_addr)s requested %(url)s\n'