settings.py
# 日志配置 import logging LOGGING = { 'version': 1, # 版本号 默认 1 'disable_existing_loggers': False, # 是否关掉第三方模块的日志功能,默认都是False的 'formatters': { # 日志记录的格式,这里写了两种(名字自定义) verbose simple 'verbose': { # levelname等级,asctime记录时间,module表示日志发生的文件名称,lineno行号,message错误信息 'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s' }, 'simple': { 'format': '%(levelname)s %(module)s %(lineno)d %(message)s' }, }, 'filters': { # 过滤器:哪些信息可以被输出 debug_true/debug_false 的都可以被输出 'require_debug_true': { # 在debug=True下产生的一些日志信息,要不要记录日志,需要的话就在handlers中加上这个过滤器,不需要就不加 '()': 'django.utils.log.RequireDebugTrue', }, 'require_debug_false': { # 和上面相反 '()': 'django.utils.log.RequireDebugFalse', }, }, 'handlers': { # 日志处往哪里输出 往控制台还是文件上 输出 'console': { # 在控制台输出时的实例 'level': 'DEBUG', # 日志等级;debug是最低等级,那么只要比它高等级的信息都会被记录 'filters': ['require_debug_true'], # 在debug=True下才会打印在控制台 'class': 'logging.StreamHandler', # 使用的python的logging模块中的StreamHandler来进行输出(StreamHandler) 'formatter': 'simple' # 指定输出的格式 }, # 往文件上进行输出 'file': { 'level': 'INFO', 'class': 'logging.handlers.RotatingFileHandler', # (RotatingFileHandler 文件输出的核心模块) # 日志位置,日志文件名,日志保存目录必须手动创建 日志输出到文件的路径,一定要写对,不然会报错 'filename': os.path.join("D:\\Python3_study\\django04\\monitor01\\logs", "django04_monitor01.log"), # 注意,你的文件应该有读写权限。 # 日志文件的最大值,这里我们设置300M 'maxBytes': 300 * 1024 * 1024, # 日志文件的数量,设置最大日志数量为10 'backupCount': 10, # 日志格式:详细格式 'formatter': 'verbose', 'encoding': 'utf-8', # 设置默认编码,否则打印出来汉字乱码 }, }, # 日志对象 'loggers': { 'django': { # 和django结合起来使用,将django中之前的日志输出内容的时候,按照我们的日志配置进行输出, 'handlers': ['console', 'file'], # 将来项目上线,把console去掉 'propagate': True, # 冒泡:第三方模块报错,django捕捉到了,是否传递给第三方模块,默认都是True }, } }
标签:输出,logging,配置,django,debug,日志,True From: https://www.cnblogs.com/zhangmingda/p/17269816.html