- A+
所属分类:Django资料
程序员最快的成长就是不停的遇到bug,然后处理bug,记录bug,就这样一路杀下来,很多东西就零碎的让自己变成大牛了,虽然过程很辛苦,但人生又哪里那么轻松呢?
以下的代码,除了最后blog.views为APP的bug记录,其他均可以直接复制粘贴使用,但是请记得在项目中创建log文件夹,用来存放bug。
- LOGGING = {
- 'version': 1,
- 'disable_existing_loggers': True,
- 'formatters': {
- 'standard': {
- 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'} #格式
- },
- 'filters': {
- },
- 'handlers': {
- 'mail_admins': {
- 'level': 'ERROR',
- 'class': 'django.utils.log.AdminEmailHandler',
- 'include_html': True,
- },
- 'default': {
- 'level':'DEBUG',
- 'class':'logging.handlers.RotatingFileHandler',
- 'filename': 'log/all.log', #输出文件地址/文件名
- 'maxBytes': 1024*1024*5, #文字的字节数
- 'backupCount': 5, #备份数量 (以下内容同此处)
- 'formatter':'standard',
- },
- 'error': {
- 'level':'ERROR',
- 'class':'logging.handlers.RotatingFileHandler',
- 'filename': 'log/error.log',
- 'maxBytes':1024*1024*5,
- 'backupCount': 5,
- 'formatter':'standard',
- },
- 'console':{
- 'level': 'DEBUG',
- 'class': 'logging.StreamHandler',
- 'formatter': 'standard'
- },
- 'request_handler': {
- 'level':'DEBUG',
- 'class':'logging.handlers.RotatingFileHandler',
- 'filename': 'log/script.log',
- 'maxBytes': 1024*1024*5,
- 'backupCount': 5,
- 'formatter':'standard',
- },
- 'scprits_handler': {
- 'level':'DEBUG',
- 'class':'logging.handlers.RotatingFileHandler',
- 'filename':'log/script.log',
- 'maxBytes': 1024*1024*5,
- 'backupCount': 5,
- 'formatter':'standard',
- }
- },
- 'loggers': {
- 'django': {
- 'handlers': ['default', 'console'],
- 'level': 'DEBUG',
- 'propagate': False
- },
- 'django.request': {
- 'handlers': ['request_handler'],
- 'level': 'DEBUG',
- 'propagate': False,
- },
- 'scripts': {
- 'handlers': ['scprits_handler'],
- 'level': 'INFO',
- 'propagate': False
- },
- # 创建的app的bug收集
- 'blog.views': {
- 'handlers': ['default', 'error'],
- 'level': 'DEBUG',
- 'propagate': True
- },
- }
- }
app中bug收集器的使用教程
- 位置:项目/app名/views.py
- 在头部引入import logging
- 定义logging
- #变量名可自由填写
- #blog.views为bug收集器定义的app名称
- logger = logging.getLogger('blog.views')
- 使用try,except捕获异常
- try:
- 语句
- except Exception as e:
- logger.error(e) # 将异常写入至文件中去
查看相关bug文件,查询其中的内容。