python日志记录器快速解决办法logging.basicConfig

直接上代码,自定义输出格式、自定义输出地址、自定义输出模块化

import logging


def setup_logging(log_name):
    log_file_path = 'C:/app/cxxx' / f'{log_name}.log'
    # 配置日志
    logging.basicConfig(
        level=logging.DEBUG,
        format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
        datefmt='%Y-%m-%d %H:%M:%S',
        force=True,
        handlers=[
            logging.FileHandler(log_file_path),
            logging.StreamHandler()
        ]
    )

调用

logging_config.setup_logging(log_name)
# 获取日志处理器
logger = logging.getLogger(__name__)
logger.info('程序开始运行')

文档解析

格式描述
filename使用指定的文件名创建一个 FileHandler,而不是 StreamHandler。
filemode如果指定了 filename,则用此 模式 打开该文件。 默认模式为 ‘a’。
format使用指定的格式字符串作为处理器。 默认为属性以冒号分隔的 levelname, name 和 message。
datefmt使用指定的日期/时间格式,与 time.strftime() 所接受的格式相同。
style如果指定了 format,将为格式字符串使用此风格。 ‘%’, ‘{’ 或 ‘$’ 分别对应于 printf 风格, str.format() 或 string.Template。 默认为 ‘%’。
level设置根记录器级别为指定的 level.
stream使用指定的流初始化 StreamHandler。 请注意此参数与 filename 不兼容 —— 如果两者同时存在,则会引发 ValueError。
handlers如果指定,这应为一个包含要加入根日志记录器的已创建处理器的可迭代对象。 任何尚未设置格式描述符的处理器将被设置为在此函数中创建的默认格式描述符。 请注意此参数与 filename 或 stream 不兼容 —— 如果两者同时存在,则会引发 ValueError。
force如果将此关键字参数指定为 true,则在执行其他参数指定的配置之前,将移除并关闭附加到根记录器的所有现有处理器。
encoding如果此关键字参数与 filename 一同被指定,则其值会在创建 FileHandler 时被使用,因而也会在打开输出文件时被使用。
errors如果此关键字参数与 filename 一同被指定,则其值会在创建 FileHandler 时被使用,因而也会在打开输出文件时被使用。 如果未指定,则会使用值 ‘backslashreplace’。 请注意如果指定为 None,它将被原样传给 open(),这意味着它将会当作传入 ‘errors’ 一样处理。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是花臂不花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值