美文网首页
日志文件

日志文件

作者: 她即我命 | 来源:发表于2018-09-20 10:38 被阅读22次

1.在setting文件中配置

# 日志文件夹路径
LOG_PATH = os.path.join(BASE_DIR, 'logs')

# 配置日志
LOGGING = {
    # 必须是1
    'version': 1,
    # 默认为True,禁用日志
    'disable_existing_loggers': False,
    # 定义formatters组件,定义存储日志中的格式
    'formatters': {
        'default': {
            # 记录的级别 记录器名字(在那个模块使用)  日期和时间  记录信息
            'format': '%(levelno)s %(name)s %(asctime)s %(message)s'
        }
    },

    # 定义logger组件,用于接收日志信息
    # 并且将日志信息丢给handlers去处理
    'loggers': {
        '': {
            'handlers': ['console'],
            'level': 'INFO'
        }
    },

    #  定义handlers组件,写入用户日志信息
    'handlers': {
        'console': {
            'level': 'INFO',
            'filename': '%s/log.txt' % LOG_PATH,
            'formatter': 'default',
            # 日志超过一定大小,切片处理备份
            'class': 'logging.handlers.RotatingFileHandler',
            # 最大长度
            'maxBytes': 5 * 1024 * 1024,
        }
    }

}

2.在项目包下创建应用的同级文件夹logs

image.png

3.在应用views中配置

#导包
import logging

# 获取日志文件
logger = logging.getLogger(__name__)

# 在方法中使用,获取info的日志文件并且返回一段话index方法
logger.info('index方法')

代码如图


image.png image.png

结果(启动服务后)

image.png

在utils文件夹middlwrare添加中间件LogMiddleware

import logging
import time
from django.utils.deprecation import MiddlewareMixin


# 日志
class LogMiddleware(MiddlewareMixin):

    def process_request(self, request):
        # URL到服务器的时候,经过中间件最先执行的方法
        request.init_time = time.time()
        request.init_body = request.body

    def process_response(self, request, response):
        # 经过中间件,最后执行的方法
        count_time = (time.time() - request.init_time) * 1000
        code = response.status_code
        req_body = request.init_body
        res_body = response.content
        # 获取logger
        logger = logging.getLogger(__name__)
        msg = '%s %s %s %s' % (count_time, code, req_body, res_body)
        logger.info(msg)

        return response

在setting的MIDDLEWARE = [ ]中添加

'utils.middlwrare.LogMiddleware'

运行结果

image.png

相关文章

网友评论

      本文标题:日志文件

      本文链接:https://www.haomeiwen.com/subject/tnygnftx.html