日志功能的使用——Djang

一、配置日志文件

  • setting.py
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'detail': {
            'format': '%(asctime)s %(levelname)s %(module)s: %(message)s'
        },
        'simple': {
            'format': '%(message)s'
        },
    },

    'handlers': {
        'file': {
            'level': 'INFO',
            'class': 'logging.FileHandler',
            'filename': f'{BASE_DIR}/blog.log',
            'formatter': 'detail',
        },
    },

    'loggers': {
        'statistic': {
            'handlers': ['file'],
            'level': 'INFO',
            'propagate': False,
        },
    },
}

二、设置中间件,输出日志文件

  • 中间件写入 helper.py 独立文件中
import logging
#'statistic'是setting.py中loggers中的一项
logger = logging.getLogger('statistic')

#构造中间件
def statistic(view_func):
    def wrap(request, *args, **kwargs):
        response = view_func(request, *args, **kwargs)
        if response.status_code == 200:
            ip = request.META['REMOTE_ADDR']
            aid = request.GET.get('aid')
            logger.info('%s %s' % (ip, aid))
            print(ip)
        return response
    return wrap

三、用日志中间件装饰视图函数

#如果有缓存装饰器存在,日志装饰器应该在缓存装饰器外部
@statistic
@page_cache(5)
def article(request):
    ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值