Logger 基本使用

为什么要使用 Logger,比print好在哪

• print 用于简单的调试,直接将信息输出到标准输出(如控制台)

• 缺少灵活性,无法方便地区分信息类型(如错误、警告)

• 无法自动记录时间、代码位置等信息

• logger是专门设计用于日志记录的工具,提供了丰富的功能

• 可以区分日志级别(如 DEBUG、INFO、WARNING、ERROR、CRITICAL)

• 支持将日志输出到多个目标(如文件、控制台、远程服务器)

• 可以设置格式化输出,自动记录时间、模块名、行号等信息

使用样例(python)

logger定义函数建议放入项目util文件夹下,方便引用

import logging

def algo_logger(name):
    logger = logging.getLogger(name)
    fmt = '%(asctime)s %(pathname)s %(funcName)s %(lineno)s %(levelname)s - %(message)s'
    logging.basicConfig(format=fmt)
    logger.setLevel(logging.DEBUG)
    return logger

# 调用示例
logger = algo_logger("测试py")
logger.debug("这是调试信息")
logger.info("这是普通信息")
logger.warning("这是警告信息")
logger.error("这是错误信息")
logger.critical("这是严重错误信息")

高级配置(将日志写入文件) 

# 创建 Logger
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)

# 创建文件处理器,将日志写入文件
file_handler = logging.FileHandler('app.log')
file_handler.setLevel(logging.DEBUG)

# 创建控制台处理器
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)

# 定义日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_handler.setFormatter(formatter)
console_handler.setFormatter(formatter)

# 将处理器添加到 Logger
logger.addHandler(file_handler)
logger.addHandler(console_handler)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值