Python logging配置方法

本文介绍了两种在Python中配置日志的方法:一种是在代码中直接进行配置,包括设置日志级别、使用RotatingFileHandler实现日志文件的轮转等;另一种则是通过外部配置文件来设置日志的各项参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方式一,代码中加载配置 

if __name__ == '__main__':
    logger = logging.getLogger(__name__)
    print(__name__)
    logger.setLevel(level=logging.INFO)
    # 定义一个RotatingFileHandler,最多备份3个日志文件,每个日志文件最大1K
    rHandler = RotatingFileHandler("log.log", maxBytes=1 * 64, backupCount=3)
    rHandler.setLevel(logging.INFO)
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    rHandler.setFormatter(formatter)

    console = logging.StreamHandler()
    console.setLevel(logging.INFO)
    console.setFormatter(formatter)

    logger.addHandler(rHandler)
    logger.addHandler(console)

    logger.info("1")
    logger.debug("2")
    logger.warning("3")
    logger.warning("4")
    logger.info("5")

方式二,加载配置文件

[loggers]
keys=root,simpleExample

[handlers]
keys=consoleHandler,fileHandler

[formatters]
keys=simpleFormatter

[logger_root]
level=DEBUG
handlers=fileHandler

[logger_simpleExample]
level=DEBUG
handlers=consoleHandler,fileHandler
qualname=simpleExample
propagate=0

[handler_consoleHandler]
class=StreamHandler
level=ERROR
formatter=simpleFormatter
args=(sys.stdout,)

[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=('testbyconfig.log','a+')

[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
if __name__ == '__main__':
    # 读取日志配置文件内容
    fileConfig('log.properties')

    # 创建一个日志器logger
    logger = logging.getLogger('simpleExample')

    # 日志输出
    logger.debug('debug message')
    logger.info('info message')
    logger.warning('warn message')
    logger.error('error message')
    logger.critical('critical message')

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值