Django中logging的配置

一、配置信息:

  ADMINS = (
  ('tom','*******@163.com'),
  )

LOGGING = {
    'version': 1, #版本
'disable_existing_loggers': False, #是否禁用其他的logger 'formatters': { 'standard': { 'format': '%(asctime)s [%(threadName)s:%(thread)d] [%(name)s:%(lineno)d] [%(module)s:%(funcName)s] [%(levelname)s]- %(message)s'}, 'myself':{ 'format': '%(asctime)s- %(message)s ' } }, 'filters': { # 'require_debug_false': { # '()': 'django.utils.log.RequireDebugFalse', # }, 'require_debug_true':{ '()': 'django.utils.log.RequireDebugTrue', } }, 'handlers': { 'null': { 'level': 'DEBUG', 'class': 'logging.NullHandler', }, 'mail_admins': { 'level': 'ERROR', 'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_true'], }, 'debug': { 'level': 'DEBUG', 'class': 'logging.handlers.RotatingFileHandler', 'filename': os.path.join(BASE_DIR, "log", 'debug.log'),#log文件地址 手动新建一个log目录下debug.log, 不然会报错 'maxBytes': 1024 * 1024 * 5,# 5M 'backupCount': 5, 'formatter': 'myself', }, 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'myself', }, }, 'loggers': { 'django': { 'handlers': ['console', 'debug'], 'level': 'DEBUG', 'propagate': True }, 'django.request': { 'handlers': ['debug', 'mail_admins'], 'level': 'ERROR', 'propagate': True, # 是否继承父类的log信息 }, # 对于不在 ALLOWED_HOSTS 中的请求不发送报错邮件 'django.security.DisallowedHost': { 'handlers': ['null'], 'propagate': False, }, } }

 

二、使用举例:

def hello_log(request):
    logger = logging.getLogger("django")#使用上面配置中的“django”配置
    logger.error("haha error")
    return HttpResponse("hello log")

 

posted @ 2022-06-29 08:16  悦文  阅读(250)  评论(0编辑  收藏  举报