栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python-日志模块logging的使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python-日志模块logging的使用

通过logging产生日志时,需要先定义:

import logging

# 得到一个日志收集器,logger
# 记录日志的笔,可以写内容
# logger 就是笔,专门去记录py这样的事项
logger = logging.getLogger('py')
# 设置笔的级别
logger.setLevel('INFO')

# 显示的东西,Handler,相当于笔记本,logger可以在笔记本上写如信息
# 默认笔记本:StreamHandler,输出到控制台
handler = logging.StreamHandler()
# 设置输出到控制台的日志的级别
handler.setLevel('INFO')
# 设置格式
fmt_handler = logging.Formatter(style='{', fmt="{asctime}:{name}:{levelname}:{filename}:{lineno}:{message}")
# handler设置格式
handler.setFormatter(fmt_handler )
# 把笔与笔记本捆绑起来
logger.addHandler(handler)

# 另一个handler
file_handler = logging.FileHandler('demo.log', encoding='utf-8')
# 设置输出到日志文件的日志的级别
file_handler.setLevel('ERROR')
fmt_file_handler = logging.Formatter(fmt="%(asctime)s:%(name)s:%(levelname)s:%(filename)s:%(lineno)s:%(message)s")
# file_handler设置格式
file_handler.setFormatter(fmt_file_handler)
logger.addHandler(file_handler)

# info级别的信息如果要显示,必须要设置等级
logger.info('操作信息')
logger.error('错误信息')

这些代码我们可以封装成函数,方便后续调用:

import logging


def get_log(name='py',
            level='INFO',
            fmt='%(asctime)s:%(name)s:%(levelname)s:%(filename)s:%(lineno)s:%(message)s',
            file='demo.log',
            ):
    logger = logging.getLogger(name)
    logger.setLevel(level)

    # 默认笔记本:StreamHandler,输出到控制台
    handler = logging.StreamHandler()
    handler.setLevel(level)
    fmt_handler = logging.Formatter(fmt=fmt)
    handler.setFormatter(fmt_handler)
    logger.addHandler(handler)

    # 另一个handler
    file_handler = logging.FileHandler(file, encoding='utf-8')
    file_handler.setLevel(level)
    fmt_file_handler = logging.Formatter(fmt=fmt)
    file_handler.setFormatter(fmt_file_handler)
    logger.addHandler(file_handler)
    return logger


logger = get_log()
logger.info('操作信息')
logger.error('错误信息')

运行结果:

 demo.log记录内容:

 封装好以后的logging就相当于loguru,可根据个人习惯选择使用哪种方式。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/323747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号