【问题标题】:Django - custom loggerDjango - 自定义记录器
【发布时间】:2015-07-02 14:13:17
【问题描述】:

我有一些有趣的任务 - 为 Django 编写自定义记录器,将请求(INFO 级别)和显示数据(DEBUG 级别)存储在文件中。 我不能使用标准的 Django 记录器。

你能指出我正确的方向吗? 我应该使用中间件吗?

谢谢。我很感激你的时间。

【问题讨论】:

    标签: django logging


    【解决方案1】:

    到目前为止,我想出类似的东西:

    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
    

    【讨论】:

      猜你喜欢
      • 2015-12-15
      • 2016-11-04
      • 2023-03-12
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 2016-10-27
      • 2016-04-22
      • 1970-01-01
      相关资源
      最近更新 更多