logging日志模块的使用

时间:2021-04-11 06:57:52

logging日志模块的使用

logging模块中有5个日志级别:

debug 10

info 20

warning 30

error 40

critical 50

通常使用日志模块,是用字典进行配置

在settings.py中,写好配置文件,以后要用的时候调用一下就行了

standard_format = '%(asctime)s - task:%(name)s - %(filename)s:%(lineno)d -' \
                  ' %(levelname)s : [%(message)s]'

simple_format = '%(filename)s:%(lineno)d - %(levelname)s : [%(message)s]'

fh1_path = r'a1.log'
fh2_path = r'a2.log'

# log配置字典
LOGGING_DIC = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'format': standard_format
        },
        'simple': {
            'format': simple_format
        },
    },
    'filters': {},
    'handlers': {
        #打印到终端的日志
        'ch': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',  # 打印到终端
            'formatter': 'simple'
        },
        #打印到a1.log文件的日志
        'fh1': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',  # 保存到文件
            'formatter': 'standard',
            'filename': fh1_path,  # 日志文件的路径
            'encoding': 'utf-8',  # 日志文件的编码,再也不用担心中文log乱码了
        },
        # 打印到a2.log文件的日志
        'fh2': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',  # 保存到文件
            'formatter': 'simple',
            'filename': fh2_path,  # 日志文件的路径
            'encoding': 'utf-8',  # 日志文件的编码,再也不用担心中文log乱码了
        },

    },
    'loggers': {
        '': {
            'handlers': ['fh1', 'fh2', 'ch'],
            'level': 'INFO',
        },
    },
}

然后在run.py中进行运行

import logging.config
import settings
logging.config.dictConfig(settings.LOGGING_DIC)
logger1=logging.getLogger('用户交易')
logger1.info('alex给我打了1个亿')
logger2=logging.getLogger('用户授权')
logger2.info('你个小兔崽子没有权限')