Django 中使用 logging 配置 logger 自定义日志输出

发布时间:2020-07-10 00:02:24 作者:FanoLi
来源:网络 阅读:4066

在使用 django 开发过程中,默认的日志输出是不能满足我们去排查问题的,往往需要自定义的日志输出,帮助我们去排查程序BUG,定位问题原因。

在使用 django 的开发过程中,我使用的是 python 内置日志模块 logging
logging 的详细使用讲解我就不多说了,度娘一抓一大抓;我只记录下我在 django settings 中的 logger 配置。方便以后使用

以下在我在 settings 中定义的 logger:
# Custom output log

LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': '%(asctime)s %(levelname)s %(pathname)s %(module)s.%(funcName)s %(lineno)d: %(message)s'
},
},
'filters': {
'require_debug_true': {
'()': 'django.utils.log.RequireDebugTrue',
},
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse',
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'formatter': 'standard'
},
'file_handler': {
'level': 'DEBUG',
'filters': ['require_debug_false'],
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': os.path.join(BASE_DIR, 'logs/ops.log'),
'formatter': 'standard'
},
'console': {
'level': 'INFO',
'filters': ['require_debug_true'],
'class': 'logging.StreamHandler',
'formatter': 'standard'
},
},
'loggers': {
'django': {
'handlers': ['console', 'file_handler'],
'level': 'DEBUG',
'propagate': True,
},
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': False,
},
}
}

使用的话很简单,在代码文件最上面加上下面两行代码就行:
import logging
logger = logging.getLogger('django')”

现在就可以使用了
logger.info('message')
logger.error('message')
logger.warn('message')
logger.debug('message')

推荐阅读:
  1. 5分钟教你学会Django系统错误监控
  2. 结合django动态生成salt的pillar数据

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

django python logger

上一篇:广域网(WAN)配置实例

下一篇:jQuery之批量上传文件插件之一

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》