Django—Log

  • 配置


     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': {
     '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,
     },
     }
     }
  • 使用


    import logging
     logger = logging.getLogger("django") # 为loggers中定义的名称
     logger.info("some info...")
发布了199 篇原创文章 · 获赞 6 · 访问量 2425

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105033033
log