diff --git a/backdrop/core/log_handler.py b/backdrop/core/log_handler.py index d3eb8d94..d6a112c6 100644 --- a/backdrop/core/log_handler.py +++ b/backdrop/core/log_handler.py @@ -1,4 +1,5 @@ from logging import FileHandler +from logging.handlers import RotatingFileHandler from logstash_formatter import LogstashFormatter import logging from flask import request @@ -18,7 +19,7 @@ def filter(self, record): def get_log_file_handler(path, log_level=logging.DEBUG): - handler = FileHandler(path) + handler = RotatingFileHandler(path, maxBytes=1024*1024*10, backupCount=5) handler.setFormatter(logging.Formatter( "%(asctime)s [%(levelname)s] -> %(message)s")) handler.setLevel(log_level) @@ -26,7 +27,7 @@ def get_log_file_handler(path, log_level=logging.DEBUG): def get_json_log_handler(path, app_name): - handler = FileHandler(path) + handler = RotatingFileHandler(path, maxBytes=1024*1024*10, backupCount=5) formatter = LogstashFormatter() formatter.defaults['@tags'] = ['application', app_name] handler.setFormatter(formatter) @@ -64,19 +65,21 @@ def set_up_audit_logging(app, env): def create_request_logger(app): def log_request(): - app.logger.info("request: %s - %s" % (request.method, request.url), + if request.method != "HEAD": + app.logger.info("request: %s - %s" % (request.method, request.url), extra=create_logging_extra_dict()) return log_request def create_response_logger(app): def log_response(response): - app.logger.info( - "response: %s - %s - %s" % ( - request.method, request.url, response.status - ), - extra=create_logging_extra_dict() - ) + if request.method != "HEAD": + app.logger.info( + "response: %s - %s - %s" % ( + request.method, request.url, response.status + ), + extra=create_logging_extra_dict() + ) return response return log_response