lẽ bạn có thể sử dụng đoạn mã này, điều này sẽ đăng nhập ngoại lệ trong log apache:
utils.py
:
def log_traceback(exception, args):
import sys, traceback, logging
exceptionType, exceptionValue, exceptionTraceback = sys.exc_info()
logging.debug(exception)
logging.debug(args)
for tb in traceback.format_exception(exceptionType, exceptionValue, exceptionTraceback):
logging.debug(tb)
site_logging.py
:
import logging
import sys
logger = logging.getLogger('')
logger.setLevel(logging.DEBUG)
handler = logging.StreamHandler(sys.stderr)
handler.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(levelname)-8s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
Đặt nó trong bạn settings.py
:
import site_logging
Và trong mã của bạn:
from where.is.your.utils import log_traceback
try:
`do something`
except Exception, args:
log_traceback(Exception, args)
Vì vậy, việc hiển thị lỗi không nhất quán, có bất kỳ mẫu nào cho lỗi nào được hiển thị hay không và lỗi nào không hiển thị? –
Bạn phục vụ trang web như thế nào? Bạn nói dưới Nginx, nhưng nó là FastCGI? –