Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django&;Heroku |如何详细记录400错误?_Django_Heroku - Fatal编程技术网

Django&;Heroku |如何详细记录400错误?

Django&;Heroku |如何详细记录400错误?,django,heroku,Django,Heroku,我已经在Heroku上创建了一个应用程序,我将我的Django应用程序推到它上面 我使用heroku logs--tail来监视日志,以实时查看它们 如何在这样的生产环境中详细显示400错误日志(当DEBUG=false时) 我知道debug.technical\u 500\u response(request,*exc\u info)方法,并通过重写handler500将其用于记录400个错误 (例如,handler500=my\u custom\u exception\u logger.se

我已经在Heroku上创建了一个应用程序,我将我的Django应用程序推到它上面

我使用heroku logs--tail来监视日志,以实时查看它们

如何在这样的生产环境中详细显示400错误日志(当
DEBUG=false
时)

我知道
debug.technical\u 500\u response(request,*exc\u info)
方法,并通过重写handler500将其用于记录400个错误 (例如,
handler500=my\u custom\u exception\u logger.server\u error

但似乎没有
technical\u 400\u response
方法

我正在使用

Django 1.11.5
Python 3.6.1
whitenoise 3.3.0
程序文件

web: gunicorn --env DJANGO_SETTINGS_MODULE=myapp.settings myapp.wsgi --log-file -
设置.py

LOGGING = {
    'version': 1,   
    'formatters': { 
        'all': {    
            'format': '\t'.join([
                "[%(levelname)s]",
                "asctime:%(asctime)s",
                "module:%(module)s",
                "message:%(message)s",
                "process:%(process)d",
                "thread:%(thread)d",
            ])
        },
    },
    'handlers': {  
        'file': {  
            'level': 'DEBUG',  
            'class': 'logging.FileHandler',  
            'filename': os.path.join(BASE_DIR, 'django.log'),  
            'formatter': 'all',  
        },
        'console': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'formatter': 'all'
        },
    },
    'loggers': { 
        'command': {  
            'handlers': ['file', 'console'],  
            'level': 'DEBUG',
        },
    },
}

提前感谢。

在这种情况下,对我来说调试400错误的最好方法是使用chrome开发者控制台

django,api视图 客户端,ajax
然后测试了对django服务器的POST请求,responseText告诉我失败的原因。

在这种情况下,对我来说调试400错误的最好方法是使用chrome开发者控制台

django,api视图 客户端,ajax 然后测试了对django服务器的POST请求,responseText告诉了我失败的原因

if item.is_valid():
    // do some thing...
else:
    return Response(item.errors, status=status.HTTP_400_BAD_REQUEST)
var xmlHttpRequest = new XMLHttpRequest();
  xmlHttpRequest.onreadystatechange = function()
  {
    if( this.readyState == 4 && this.status == 200 )
    {
      if( this.response )
      {
        var res = this.response;
        console.log(this.response);
        // do something...
      }
    }
  }
  ...