查看: 155|回复: 0

django中添加日志功能

[复制链接]
发表于 2020-2-16 02:51:25 | 显示全部楼层 |阅读模式
官方文档 猛戳这里
在settings中设置以下代码
  1. #LOGGING_DIR 日志文件存放目录LOGGING_DIR = "logs"   # 日志存放路径if not os.path.exists(LOGGING_DIR):    os.mkdir(LOGGING_DIR)import loggingLOGGING = {    'version': 1,    'disable_existing_loggers': false,    'formatters': {  #格式化器        'standard': {            'format': '[%(levelname)s][%(asctime)s][%(filename)s][%(funcName)s][%(lineno)d] > %(message)s'        },        'simple': {            'format': '[%(levelname)s]> %(message)s'        },    },    'filters': {        'require_debug_true': {            '()': 'django.utils.log.RequireDebugTrue',        },    },    'handlers': {        'console': {            'level': 'DEBUG',            'filters': ['require_debug_true'],            'class': 'logging.StreamHandler',            'formatter': 'simple'        },        'file_handler': {             'level': 'INFO',             'class': 'logging.handlers.TimedRotatingFileHandler',             'filename': '%s/django.log' % LOGGING_DIR,  #详细日志文件的名字             'formatter':'standard'        }, # 用于文件输出        'mail_admins': {            'level': 'ERROR',            'class': 'django.utils.log.AdminEmailHandler',             'formatter':'standard'        },    },    'loggers': {   #日志分配到哪个handlers中        'mydjango': {            'handlers': ['console','file_handler'],            'level':'DEBUG',              'propagate': True,        },        'django.request': {            'handlers': ['mail_admins'],            'level': 'ERROR',            'propagate': False,        },
  2.     ####如果要将get,post请求同样写入到日志文件中,则这个触发器的名字必须交django,然后写到handler中    }}
复制代码


在settings中写完设置之后,下面就要详细到相应的视图函数中了。注意:这里我们在实行到详细函数或方法的时候需要手动捕捉非常

然后视图函数中
  1. #这里我们模拟一个登陆来写log = logging.getLogger('mydjango')  #这里的mydjango是settings中loggers里面对应的名字class Login(View):    def get(self,request):        return render(request,'login.html')    def post(self,request):        user = request.POST.get('username')        pwd = request.POST.get('password')        try:            s = 1/0        except Exception as e:            log.error(e)
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?用户注册

x

天涯海角也要找到Ni:django中添加日志功能

相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:2753533861

服务时间 9:00-22:00

快速回复 返回顶部 返回列表