相关疑难解决方法(0)

如何在 Django 中记录请求和响应?

如何使用中间件在 Django 中记录我的所有请求和响应(标头和正文)?我将 Django 2.2 与 Django rest 框架一起使用,所以有时请求和响应是原始 Django 类型,有时是 drf。该应用程序在 gunicorn 后面提供。我开发了中间件,但主要问题是我无法读取请求的正文两次,因为它给了我错误。

django logging http gunicorn django-rest-framework

9
推荐指数
2
解决办法
6648
查看次数

如何忽略在python中记录期间生成的异常?

我正在一个大的python模块(Python 2.6.6)工作,并在数千个地方进行日志记录,我正在使用python的logger模块.现在,我想忽略在日志记录期间生成的异常.可能的基本方案之一是

import glob
import logging
import logging.handlers

LOG_FILENAME = '/home/abc/logging_rotatingfile_example.out'
my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)

# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(
              LOG_FILENAME, maxBytes=20, backupCount=5)
my_logger.addHandler(handler)
# Log some messages
for i in range(20):
    my_logger.debug('i = %d' % i)
Run Code Online (Sandbox Code Playgroud)

现在假设,在my_logger.debug('i = %d' % i)某些过程中,如何从系统中删除文件或权限被更改,并且记录器无法记录日志文件中的磁盘故障,磁盘已满等,并在屏幕上生成异常.它是分布式系统,n个进程都使用记录器模块.请注意,由于记录异常(由于磁盘故障,磁盘已满等),不应中止进程.所以我希望忽略该异常.

注意:现在我知道在python logger上创建包装器类并使用try-except作为记录器函数的方法之一.但我有不同的要求,我不想这样使用,有没有其他方法来做这个或python logger的任何属性,这对我的条件有用?

python logging

4
推荐指数
1
解决办法
2054
查看次数

标签 统计

logging ×2

django ×1

django-rest-framework ×1

gunicorn ×1

http ×1

python ×1