Django日志 logging
Posted lab-zj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django日志 logging相关的知识,希望对你有一定的参考价值。
搬运出处: https://www.jianshu.com/p/b6cdb470bee1
前言
日志在程序开发中是少不了的,通过日志我们可以分析到错误在什么地方,有什么异常。在生产环境下有很大的用途。在Java开发中通常用log4j,logback等第三方组件。那么在django中是怎么处理日志?django利用的就是Python提供的logging模块,但django中要用logging,还得有一定的配置规则,需要在setting中设置。
Logging模块
Logging模块为应用程序提供了灵活的手段记录事件、错误、警告和调试信息。对这些信息可以进行收集、筛选、写入文件、发送给系统日志等操作,甚至还可以通过网络发送给远程计算机。
首先附上我的Logging配置
LOGGING = {
‘version‘: 1,
‘disable_existing_loggers‘: True,
‘formatters‘: {
‘standard‘: {
‘format‘: ‘%(asctime)s [%(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/QWebFX_{}.log‘.format(BASE_DIR, datetime.datetime.now().date()), # 日志输出文件
‘maxBytes‘: 1024 * 1024 * 5, # 文件大小
‘backupCount‘: 5, # 备份份数
‘formatter‘: ‘standard‘, # 使用哪种formatters日志格式
},
‘error‘: {
‘level‘: ‘ERROR‘,
‘class‘: ‘logging.handlers.RotatingFileHandler‘,
‘filename‘: ‘{}/Log/Error/QWebFX_Error_{}.log‘.format(BASE_DIR, datetime.datetime.now().date()),
‘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/Request/QWebFX_Request_{}.log‘.format(BASE_DIR, datetime.datetime.now().date()),
‘maxBytes‘: 1024 * 1024 * 5,
‘backupCount‘: 5,
‘formatter‘: ‘standard‘,
},
‘scripts_handler‘: {
‘level‘: ‘DEBUG‘,
‘class‘: ‘logging.handlers.RotatingFileHandler‘,
‘filename‘: ‘{}/Log/Script/QWebFX_Script_{}.log‘.format(BASE_DIR, datetime.datetime.now().date()),
‘maxBytes‘: 1024 * 1024 * 5,
‘backupCount‘: 5,
‘formatter‘: ‘standard‘