欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 日志基础 logging模块

程序员文章站 2022-03-08 14:38:06
...

屏幕输出日志

import logging


logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')

文件输出日志

import logging



logging.basicConfig(#日志水平
                    level=logging.INFO,
                    #日志输出格式
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S', #日期格式
                    filename='test.log', #文件地址
                    filemode='a')

logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')

屏幕和文件同时输出

import logging

def get_logger():
    # 创建日志对象
    log_obj = logging.getLogger('日志')

    # 设置日志水平
    log_obj.setLevel(logging.DEBUG)

    # 创建控制台句柄
    sh = logging.StreamHandler()

    # 创建文件句柄
    fh = logging.FileHandler('test.log')


    # 创建格式对象
    log_format = logging.Formatter('%(asctime)s %(name)s %(levelname)s %(message)s')

    # 设置句柄格式
    sh.setFormatter(log_format)
    fh.setFormatter(log_format)

    # 添加句柄到日志对象
    log_obj.addHandler(sh)
    log_obj.addHandler(fh)

    # 返回日志对象
    return log_obj


log = get_logger()

log.info('haha')