功能 : 日志

2018-08-15  本文已影响0人  十二右

1. 日志

1.1 日志说明

1.1 logging模块可以收集记录错误,警告等调试信息,在程序中可以捕获这些信息,甚至可以将错误的重要信息等通过邮件发送给开发者
1.2 logging的组成 - 四个主键
Loggers - 记录器 : 接收日志的入口
Handlers - 处理器: 处理日志并按照指定的格式去保存在指定的路径
Filters - 过滤器 : 过滤Loggers丢给Handlers的日志信息
Formatters - 格式器: 指定格式

日志级别 :
DEBUG:用于调试目的的底层系统信息
INFO:普通的系统信息
WARNING:表示出现一个较小的问题。
ERROR:表示出现一个较大的问题。
CRITICAL:表示出现一个致命的问题。
DEBUG < INFO < WARNING < ERROR < CRITICAL

1.2 设置日志

  1. settings中指定日志文件地址,并创建

# 指定日志文件地址
LOG_PATH = os.path.join(BASE_DIR, 'log')
# isdir判断是否为文件夹
if not os.path.isdir(LOG_PATH):
    os.mkdir(LOG_PATH)

自动生成文件夹:


image.png
  1. 配置日志文件
# 配置日志文件信息
LOGGING = {
    # version只能为1
    'version': 1,
    # disable_existing_loggers默认为True
    'disable_existing_loggers': False,
    # 日志格式
    'formatters': {
          # 设置名为simple的格式器
        'simple': {
             # 时间,进程,信息
            'format': '%(created)s %(process)d %(message)s'
        }
    },
    # 接收日志信息
    'loggers': {
        # 配置名为dj的记录器
        'dj': {
            # 指定handlers
            'handlers': ['dj_handler'],
            # 指定级别
            'level': 'INFO',
        }
    },
    'handlers': {
        # 配置名为dj_handler的处理器
        'dj_handler': {
            # 大于DEBUG的都可以节省
            'level': 'DEBUG',
            # 指定存日志的形式: 超过5M进行切割备份
            'class': 'logging.handlers.RotatingFileHandler',
            # 文件存储地址
            'filename': '%s/dj.log' % LOG_PATH,
            # 存储方式
            'formatter': 'simple',
            # 文件最大值5M
            'maxBytes': 1024 * 1024 * 5,

        }
    },
}
  1. 使用
import logging
logger = logging.getLogger('dj')
logger.info('strs')
image.png
上一篇 下一篇

猜你喜欢

热点阅读