python logging模块的使用

logging模块基本使用

import logging


# 第一步,创建一个logger

logger = logging.getLogger()

logger.setLevel(logging.INFO)  # Log基础等级总开关,会影响底下文件输出和控制台输出的等级开关


# 第二步,创建一个handler,用于写入日志文件

logfile = './log.txt'

fh = logging.FileHandler(logfile, mode='a')  # open的打开模式这里可以进行参考

fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关


# 第三步,再创建一个handler,用于输出到控制台

ch = logging.StreamHandler()

ch.setLevel(logging.DEBUG)  # 输出到console的log等级的开关

# 第四步,定义handler的输出格式

formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")

fh.setFormatter(formatter)

ch.setFormatter(formatter)


# 第五步,将logger添加到handler里面

logger.addHandler(fh)

logger.addHandler(ch)

# 日志

logger.debug('这是 logger debug message')

logger.info('这是 logger info message')

logger.warning('这是 logger warning message')

logger.error('这是 logger error message')

logger.critical('这是 logger critical message')

日志等级由低到高

DEBUG: 开发者调试信息,包括经计算得到的值、参数估值、URL、API 调用信息等。
INFO: 一般性的信息。
WARNING: 关于输入、参数等的警告。
ERROR: 报告由于用户操作不当或程序运行时发生的错误。
CRITICAL: 最高等级的日志输出,通常用于某些关键问题(取决于具体情况)。

日志格式说明

%(levelno)s: 打印日志级别的数值

%(levelname)s: 打印日志级别名称

%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s: 打印当前执行程序名

%(funcName)s: 打印日志的当前函数

%(lineno)d: 打印日志的当前行号

%(asctime)s: 打印日志的时间

%(thread)d: 打印线程ID

%(threadName)s: 打印线程名称

%(process)d: 打印进程ID

%(message)s: 打印日志信息

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值