我有一些有趣的任务 - 为Django编写自定义记录器,它在文件中存储请求(INFO级别)和显示数据(DEBUG级别)。 我不能使用标准的Django记录器。
你能指出我正确的方向吗? 我应该使用中间件吗?
感谢。我很感激你的时间。
答案 0 :(得分:0)
到目前为止,我发现了类似的内容:
import os
import logging
from django.conf import settings
# logging config
logging.basicConfig(filename=os.path.join(settings.BASE_DIR, 'debug.log'),
level=logging.DEBUG)
logger = logging.getLogger(__name__)
class FileLoggerMiddleware(object):
def process_response(self, request, response):
request_log = 'Path: {}, GET: {}, POST: {}'.format(
request.path, request.GET, request.POST)
logger.info(request_log)
# We have queries logging out of box
# But here what i wood wrote:
# from django.db import connection
# for q in connection.queries:
# query_log = "({}) QUERY ".format(q.time, q.sql ) //and more info
# logger.debug(query_log)
return response