热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Uwsgi禁用django.request日志记录

如何解决《Uwsgi禁用django.request日志记录》经验,为你挑选了1个好方法。

如果我使用uwsgi启动应用程序,我没有看到与django.requests相关的日志.

但是,如果我在同一台机器上使用相同的代码

manage.py runserver 8080

它完美地运作.

任何想法为什么会发生?

我通过这个命令运行uwsgi

/home/gs/python-env/bin/uwsgi --ini /etc/uwsgi.d/uwsgi.ini --static-map /static=/home/gs/api/static/

uwsgi.ini

[uwsgi]
http-socket=:8080
home=/home/gs/python-env
chdir=/home/gs/api
module=server.wsgi
env=server.settings
processes=1
enable-threads=true

来自settings.py的日志配置

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(process)d %(threadName)s %(module)s %(funcName)s %(message)s'
        }
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
        },
        'file': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': '/var/log/gs/api.log',
            'formatter': 'verbose',
            'maxBytes': 1024 * 1024 * 16,  # 16Mb
        },
        'elasticsearch': {
            'level': 'DEBUG',
            'class': 'api.common.elasticsearch_log_handler.ElasticSearchHandler',
            'hosts': [{'host': cluster.ES_HOST, 'port': 443}],
            'es_index_name': 'logstash',
            'es_additional_fields': {'type': 'api', 'cluser': cluster.CLUSTER_NAME},
            'auth_type': ElasticSearchHandler.AuthType.NO_AUTH,
            'use_ssl': True,
        }
    },
    'loggers': {
       'django': {
            'handlers': ['file', 'elasticsearch', 'console'],
            'level': 'INFO',
            'propagate': True
        },
        'django.request': {
            'handlers': ['file', 'elasticsearch', 'console'],
            'level': 'DEBUG',
            'propagate':False
         }
    }
}

如果我将信息更改为'django'的调试,我将从django logger看到我的日志,但不会从django.request看到.

UPD:如果我编写自己的中间件,我可以记录请求.但我想知道为什么django.request不适用于uwsgi.



1> Beau..:

Django runserver提供了显示在下面的日志消息django.server.当没有运行时,runserver仍然会有一些可以记录的django.request消息(主要是错误消息),但每个请求的信息日志消息只存在于runserver.我通过查看uWSGI和Django源来验证这一点.

如果您想要类似的日志消息,可以使用django-request-logging.


推荐阅读
  • 本文介绍了 Python 中的基本数据类型,包括不可变数据类型(数字、字符串、元组)和可变数据类型(列表、字典、集合),并详细解释了每种数据类型的使用方法和常见操作。 ... [详细]
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 可参照github代码:https:github.comrabbitmqrabbitmq-tutorialsblobmasterjavaEmitLogTopic.ja ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 普通树(每个节点可以有任意数量的子节点)级序遍历 ... [详细]
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文详细介绍了如何使用Python的多进程技术来高效地分块读取超大文件,并将其输出为多个文件。通过这种方式,可以显著提高读取速度和处理效率。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 本文详细介绍了Java反射机制的基本概念、获取Class对象的方法、反射的主要功能及其在实际开发中的应用。通过具体示例,帮助读者更好地理解和使用Java反射。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流
    字节流抽象类InputStream和OutputStream是字节流的顶级父类所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStreamInput ... [详细]
author-avatar
小熊2502872357
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有