Django_LOG

Log模块的四⼤大组件

Loggers

提供应⽤用程序代码直接使⽤用的接⼝

Handlers

⽤用于将⽇日志记录发送到指定的⽬目的位置

Filters

提供更更细粒度的⽇日志过滤功能,⽤用于决定哪些⽇日志记录将会被输出(其它的⽇日 志记录将会被忽略略) 

Formatters

⽤用于控制⽇日志信息的最终输出格式
  %(levelno)s:打印⽇日志级别的数值  
  %(levelname)s:打印⽇日志级别的名称  
  %(pathname)s:打印当前执⾏行行程序的路路径,其实就是sys.argv[0]  
  %(filename)s:打印当前执⾏行行程序名  
  %(funcName)s:打印⽇日志的当前函数  
  %(lineno)d:打印⽇日志的当前⾏行行号  
  %(asctime)s:打印⽇日志的时间  
  %(thread)d:打印线程ID  
  %(threadName)s:打印线程名称  
  %(process)d:打印进程ID  
  %(message)s:打印⽇日志信息 

应用文件tests.py

import logging  logger = logging.getLogger(__name__)   logger.setLevel(level = logging.INFO)  
handler = logging.FileHandler(“log.txt”)   
formatter = logging.Formatter('%(asctime)s - %(name)s - % (levelname)s - %(message)s')  
handler.setFormatter(formatter)   
logger.addHandler(handler) 
logger.info("Start print log")  
logger.debug("Do something")  
logger.warning("Something maybe fail.")  
logger.info("Finish")

配置settings

ADMINS = (   ('tom','*******@163.com'),  )  #配置邮件  
EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'  
SERVER_EMAIL=EMAIL_HOST_USER  
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': { #过滤条件   
#要求debug是False才记录   
'require_debug_false': {    '()': 'django.utils.log.RequireDebugFalse',    }   },   
'handlers': { python学院
'null': {    'level': 'DEBUG',    'class': 'logging.NullHandler',   },   'mail_admins': {#⼀一旦线上代码报错 邮件提示    
'level': 'ERROR',    
'class':'django.utils.log.AdminEmailHandler',    
'filters': ['require_debug_false'],   },   'debug': {    'level': 'DEBUG',            'class':'logging.handlers.RotatingFileHandler',            
'filename': os.path.join(BASE_DIR, "log", 'debug.log'),  # ⽂文件路路径 
'maxBytes': 1024 * 1024 * 5, #5兆的数据            
'backupCount': 5, #允许有5这样的⽂文件            
'formatter': 'standard', #格式   },   
'console':{    'level': 'DEBUG',    
'class': 'logging.StreamHandler',    
'formatter': 'standard',   },   },   
'loggers': {   
'django': {    
'handlers': ['console'],    
'level': 'DEBUG',    
'propagate': False   },   
'django.request': {    
'handlers': ['debug','mail_admins'],    
'level': 'ERROR',    
'propagate': True,#是否继承⽗父类的log信息   },   
# 对于不不在 ALLOWED_HOSTS 中的请求不不发送报错邮件   
'django.security.DisallowedHost': {    'handlers': ['null'],    
'propagate': False,   
},   
}   
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值