django的日志使用python的logging模块

logging的四个模块

—logger-记录器:

日志系统的入口,每个logger都是bucket,可以向这个bucket写入需要处理的信息,logger根据消息的日志级别来进行处理,接收来自大于logging定义的级别的消息,交给handle处理

日志级别分为

  debug–10

  info—20

  warning—30

  error—40

  critical—50

 

—handle-处理器:

handle决定如何处理logger中的消息,比如打印到屏幕,写入到文件中等。与logger一样,也有一个日志级别, 如果消息的日志界别小于定义的级别,则忽略。一个logger可以有多个handle,并且每个handle可以有不同的日志级别

 

–filter-过滤器:

一般用的很少

 

–formatter-格式化

表示文本的格式,通常是用来自定义格式

 

以下为django中日志的配置:

#settings.py
import logging
.
.
.

logger = logging.getLogger(__name__)
LOG_DIR = os.path.join(BASE_DIR,'log')
if not os.path.exists(LOG_DIR):
    os.mkdir(LOG_DIR)


LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        # 'verbose': {
        #     'format': '%(levelname)s %(asctime)s %(pathname)s %(module)s %(lineno)s %(message)s ',
        # },
        'verbose': {
            'format': "{'levelname':'%(levelname)s','asctime':'%(asctime)s','module':'%(module)s','name':'%(name)s', 'pathname':'%(pathname)s','message':'%(message)s'}"
        },

        'simple': {
            'format': '{levelname} {message}',
        },
    },
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',     #将日志保存到文件
            'formatter': 'verbose',
            'filename': os.path.join(LOG_DIR,'django.log'),
            'encoding': 'utf-8'
        },
        'default': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',  # 将日志保存到文件
            'formatter': 'verbose',
            'filename': os.path.join(LOG_DIR, 'default.log'),
            'encoding': 'utf-8'
        }
    },
    'loggers': {
        'django': {                 #获取所有日志
            'level': 'DEBUG',
            'handlers': ['file'],
            'propagate': True,      #向上传播
        },

    },
    'root': {       #顶层日志
        'level': 'DEBUG',
        'handlers': ['default'],
    }
}
#视图中使用
import logging
logger = logging.getLogger(__name__)

class XXX(APIView):
    def post(self):
        logger.info('xxx')
        logger.error('xxx')

 

原文地址:http://www.cnblogs.com/powfu/p/16890796.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性