LOGGING = { 'version': 1,'disable_existing_loggers': False,'formatters': { 'verbose': { 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' },'simple': { 'format': '%(levelname)s %(module)s %(lineno)d %(message)s' },},'filters': { 'require_deBUG_true': { '()': 'django.utils.log.requiredeBUGTrue','handlers': { 'console': { 'level': 'DEBUG','filters': ['require_deBUG_true'],'class': 'logging.StreamHandler','formatter': 'simple' },'file': { # 实际开发建议使用WARNING 'level': 'INFO','class': 'logging.handlers.RotatingfileHandler',# 日志位置,日志文件名,日志保存目录必须手动创建,注:这里的文件路径要注意BASE_DIR 'filename': os.path.join(os.path.dirname(BASE_DIR),"logs/luffy.log"),# 日志文件的最大值,这里我们设置300M 'maxBytes': 300 * 1024 * 1024,# 日志文件的数量,设置最大日志数量为10 'backupCount': 10,# 日志格式:详细格式 'formatter': 'verbose',# 编码 'enCoding': 'utf-8' },# 日志对象 'loggers': { 'django': { 'level': 'INFO','handlers': ['console','file'],'propagate': True,# 是否让日志信息继续冒泡给其他的日志处理系统 },}}
exception.py(抛错设置)# rest_framework.vIEws 下的 exception_handler 处理了所有 drf可控范围内的异常from rest_framework.vIEws import exception_handler as drf_exception_handler# drf的异常还是交给 drf_exception_handler,我们只需要处理 drf未处理的异常from rest_framework.response import Responsefrom .response import APIResponse# 自定义异常句柄的原因:要通过 logging 记录异常日志from .logging import loggerdef exception_handler(exc,context): response = drf_exception_handler(exc,context) if response is None: # drf处理不了的异常 error_info = '【%s】【%s】' % (context['vIEw'],exc) logger.error(error_info) # return Response({ # 'exception': '服务器异常',# },status=500) return APIResponse(1,'服务器异常',status=500) response.exception = True return response
logging.pyimport logginglogger = logging.getLogger('django')
总结 以上是内存溢出为你收集整理的DJango错误日志生成全部内容,希望文章能够帮你解决DJango错误日志生成所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)