From b86eb3747d1c738c926f40516ef942a4b92f9e06 Mon Sep 17 00:00:00 2001 From: liangliangyy Date: Mon, 23 Jan 2017 14:08:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0log=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DjangoBlog/settings.py | 56 ++++++++++++++++++++++++++++++++++ DjangoBlog/utils.py | 7 +++-- blog/context_processors.py | 5 +++ blog/templatetags/blog_tags.py | 5 ++- 4 files changed, 68 insertions(+), 5 deletions(-) diff --git a/DjangoBlog/settings.py b/DjangoBlog/settings.py index ed94f02..5db2414 100644 --- a/DjangoBlog/settings.py +++ b/DjangoBlog/settings.py @@ -216,3 +216,59 @@ DEFAULT_FROM_EMAIL = EMAIL_HOST_USER SERVER_EMAIL = os.environ.get('DJANGO_EMAIL_USER') # 设置debug=false 未处理异常邮件通知 ADMINS = [('liangliang', 'liangliangyy@gmail.com')] + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'verbose': { + 'format': '[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d] %(message)s', + }, + 'simple': { + 'format': '%(levelname)s %(asctime)s %(message)s' + }, + }, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse', + }, + 'require_debug_true': { + '()': 'django.utils.log.RequireDebugTrue', + }, + }, + 'handlers': { + 'log_file': { + 'level': 'INFO', + 'class': 'logging.handlers.RotatingFileHandler', + 'filename': 'djangoblog.log', + 'maxBytes': 16777216, # 16 MB + 'formatter': 'verbose' + }, + 'console': { + 'level': 'DEBUG', + 'filters': ['require_debug_true'], + 'class': 'logging.StreamHandler', + 'formatter': 'simple' + }, + 'null': { + 'class': 'logging.NullHandler', + }, + 'mail_admins': { + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + } + }, + 'loggers': { + 'djangoblog': { + 'handlers': ['log_file', 'console'], + 'level': 'INFO', + 'propagate': True, + }, + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': False, + }, + } +} diff --git a/DjangoBlog/utils.py b/DjangoBlog/utils.py index ee75dfe..cdaf945 100644 --- a/DjangoBlog/utils.py +++ b/DjangoBlog/utils.py @@ -18,6 +18,9 @@ import mistune from pygments import highlight from pygments.lexers import get_lexer_by_name from pygments.formatters import html +import logging + +logger = logging.getLogger('djangoblog') def cache_decorator(expiration=3 * 60): @@ -28,10 +31,10 @@ def cache_decorator(expiration=3 * 60): key = m.hexdigest() value = cache.get(key) if value: - print('get key: ' + key) + logger.info('cache_decorator get cache %s' % func.__name__) return value else: - print('set key:' + key) + logger.info('cache_decorator set cache %s' % func.__name__) value = func(*args, **kwargs) cache.set(key, value, expiration) return value diff --git a/blog/context_processors.py b/blog/context_processors.py index babc64f..939dcca 100644 --- a/blog/context_processors.py +++ b/blog/context_processors.py @@ -16,13 +16,18 @@ from .models import Category, Article, Tag from django.conf import settings from django.core.cache import cache +from DjangoBlog.utils import logger + def seo_processor(requests): key = 'seo_processor' + value = cache.get(key) if value: + logger.info('get processor cache.') return value else: + logger.info('set processor cache.') value = { 'SITE_NAME': settings.SITE_NAME, 'SHOW_GOOGLE_ADSENSE': settings.SHOW_GOOGLE_ADSENSE, diff --git a/blog/templatetags/blog_tags.py b/blog/templatetags/blog_tags.py index 16f3492..8e3db01 100644 --- a/blog/templatetags/blog_tags.py +++ b/blog/templatetags/blog_tags.py @@ -24,6 +24,8 @@ from django.utils.encoding import force_text import hashlib import urllib from comments.models import Comment +from DjangoBlog.utils import cache_decorator, logger +from django.core.cache import cache register = template.Library() @@ -110,7 +112,6 @@ def load_sidebar(user): 加载侧边栏 :return: """ - recent_articles = Article.objects.filter(status='p')[:settings.SIDEBAR_ARTICLE_COUNT] sidebar_categorys = Category.objects.all() most_read_articles = Article.objects.filter(status='p').order_by('-views')[:settings.SIDEBAR_ARTICLE_COUNT] @@ -162,8 +163,6 @@ def load_article_detail(article, isindex, user): :param isindex:是否列表页,若是列表页只显示摘要 :return: """ - - print() return { 'article': article, 'isindex': isindex,