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. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性