我在django视图中有这个:
import logging
from django.conf import settings
fmt = getattr(settings, 'LOG_FORMAT', None)
lvl = getattr(settings, 'LOG_LEVEL', logging.INFO)
logging.basicConfig(format=fmt, level=lvl)
@api_view(['GET', 'POST'])
def index(request):
if request.GET.get("request_id"):
logging.info("standard CMH request...")
barf()
# etc
在我的工作环境(DEBUG = True)中,当我从客户端应用程序通过REST访问相关页面时,会在控制台上打印:
mgregory$ foreman start
19:59:11 web.1 | started with pid 37371
19:59:11 web.1 | 2014-10-10 19:59:11 [37371] [INFO] Starting gunicorn 18.0
19:59:11 web.1 | 2014-10-10 19:59:11 [37371] [INFO] Listening at: http://0.0.0.0:5000 (37371)
19:59:11 web.1 | 2014-10-10 19:59:11 [37371] [INFO] Using worker: sync
19:59:11 web.1 | 2014-10-10 19:59:11 [37374] [INFO] Booting worker with pid: 37374
19:59:18 web.1 | standard CMH request...
实际发生的是barf()
抛出异常,因为它没有定义。但这并没有出现在控制台日志中。
如何在DEBUG = True环境中将所有异常显示在控制台日志中?
补充:有什么理由说我在生产环境中没有这样做,DEBUG = False?我的生产环境不会给我发电子邮件,我想在日志中有这些例外,我想?