gpt4 book ai didi

django - 禁用静态文件日志记录

转载 作者:行者123 更新时间:2023-12-04 13:49:34 25 4
gpt4 key购买 nike

菜鸟问题:

我想在控制台上禁用对静态 Assets 的登录,我只想看到正常的 http 请求(但不是静态文件的请求)。

我总是在控制台上获取所有静态文件加载

[24/Sep/2014 22:18:55] "GET/HTTP/1.1"200 39816
[24/Sep/2014 22:18:55] "GET/static/2.5.11/socialschools/css/molengo/molengo-regular-webfont.css HTTP/1.1"200 509
[24/Sep/2014 22:18:55] "GET/static/2.5.11/socialschools/js/less.1.7.0.min.js HTTP/1.1"200 101854
[24/Sep/2014 22:18:55] "GET/static/2.5.11/socialschools/js/html5shiv.3.7.0.js HTTP/1.1"200 2428
[24/Sep/2014 22:18:55] "GET/static/2.5.11/socialschools/js/jquery.1.9.1.min.js HTTP/1.1"200 92629
[24/Sep/2014 22:18:55] "GET/static/2.5.11/socialschools/js/respond.1.4.2.min.js HTTP/1.1"200 4377
[24/Sep/2014 22:18:55]“获取/静态...

有什么办法可以禁用它吗?

例如在 express (nodejs) 中,如果我将日志中间件放在静态中间件之前,它不会记录静态文件。任何帮助表示赞赏,谢谢!

最佳答案

我看到这个问题已经很老了(4 年零 8 个月)我想为该任务添加可能的解决方案。由于在控制台上登录静态 Assets 是由日志模块管理的,因此答案是在日志配置中。
有个概念 filter 在 python 日志记录中,允许 record由记录器链进一步填充,或者简单地通过返回 bool 值 True 或 False 来抑制。

我遇到过几次这个问题,所以我想在这里提出一个解决方案:

  • 让我们在 somemodule 中写一个过滤器.
  • from logging import Filter

    class SkipStaticFilter(Filter):
    """ Logging filter to skip logging of staticfiles to terminal """
    def filter(self, record):
    return not record.getMessage().startswith('GET /static/')


    编辑:对于 Django 2.2:替换 GET /static/HTTP GET /static/
  • 现在让我们将此过滤器添加到设置中:

  • LOGGING = {
    # Definition of filters
    'filters': {
    'hide_staticfiles': {
    '()': 'somemodule.SkipStaticFilter'
    }
    },
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
    'console': {
    'class': 'logging.StreamHandler',

    # Usage of that filter
    'filters': ['hide_staticfiles']
    },
    },
    'loggers': {
    'django': {
    # Usage of the handler with our filter
    'handlers': ['console'],
    }
    },

    }


    现在您将看不到任何以 "GET /static/ 开头的日志记录
    您可以添加更多工作人员,并使用复杂的规则来决定是否要查看该记录(例如,如果静态请求是 404,则不要隐藏它们)

    希望这会帮助某人摆脱伐木污染。

    关于django - 禁用静态文件日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025845/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com