From 1366fb0a62ac190465aaf2ad4d518296e523c103 Mon Sep 17 00:00:00 2001 From: kentio <13550898+kentio@users.noreply.github.com> Date: Fri, 20 Mar 2020 20:32:13 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor(midd):=20=E4=BC=98=E5=8C=96blog=20?= =?UTF-8?q?app=E4=B8=AD=E9=97=B4=E4=BB=B6=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/middleware.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/blog/middleware.py b/blog/middleware.py index 9403941..03f5e85 100644 --- a/blog/middleware.py +++ b/blog/middleware.py @@ -25,21 +25,22 @@ class OnlineMiddleware(object): super().__init__() def __call__(self, request): + ''' page render time ''' start_time = time.time() response = self.get_response(request) - http_user_agent = request.META.get('HTTP_USER_AGENT', []) - if 'Spider' in http_user_agent or 'spider' in http_user_agent: - return response - try: - cast_time = time.time() - start_time - if ELASTICSEARCH_ENABLED: - time_taken = round((cast_time) * 1000, 2) - url = request.path - from django.utils import timezone + http_user_agent = request.META.get('HTTP_USER_AGENT', '') - ElaspedTimeDocumentManager.create(url=url, time_taken=time_taken, log_datetime=timezone.now(), - type='blog', useragent=http_user_agent) - response.content = response.content.replace(b'', str.encode(str(cast_time)[:5])) - except: - pass + if 'spider'.upper() not in http_user_agent.upper(): + try: + cast_time = time.time() - start_time + if ELASTICSEARCH_ENABLED: + time_taken = round((cast_time) * 1000, 2) + url = request.path + from django.utils import timezone + + ElaspedTimeDocumentManager.create(url=url, time_taken=time_taken, log_datetime=timezone.now(), + type='blog', useragent=http_user_agent) + response.content = response.content.replace(b'', str.encode(str(cast_time)[:5])) + except Exception as e: + print("Error OnlineMiddleware: %s" % e) return response From 39f381d8c3ade8b6485ea47ddd954e620b64dbb2 Mon Sep 17 00:00:00 2001 From: Kent <13550898+kentio@users.noreply.github.com> Date: Sat, 21 Mar 2020 12:52:15 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor(output):=20=E4=BF=AE=E6=94=B9blog?= =?UTF-8?q?=20midd=E8=BE=93=E5=87=BA=E4=B8=BAlogging?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blog/middleware.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/blog/middleware.py b/blog/middleware.py index 03f5e85..b30d42a 100644 --- a/blog/middleware.py +++ b/blog/middleware.py @@ -14,10 +14,13 @@ """ import datetime import time +import logging from ipware.ip import get_real_ip from DjangoBlog.utils import cache from blog.documents import ELASTICSEARCH_ENABLED, ElaspedTimeDocumentManager +logger = logging.getLogger(__name__) + class OnlineMiddleware(object): def __init__(self, get_response=None): @@ -42,5 +45,5 @@ class OnlineMiddleware(object): type='blog', useragent=http_user_agent) response.content = response.content.replace(b'', str.encode(str(cast_time)[:5])) except Exception as e: - print("Error OnlineMiddleware: %s" % e) + logger.error("Error OnlineMiddleware: %s" % e) return response