python logging模块简介

python logging模块简介

logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。相对于print,该模块具有可以决定在打印什么级别的信息和将信息输出放置在什么地方的优点。

1.基本使用

配置logging的基本设置,并在控制台输出:

import logging
logging.basicConfig(level = logging.INFO,         #设置输出信息等级
    format = '%(asctime)s - %(name)s - [%(levelname)s]: %(message)s') #设置输出格式
logger = logging.getLogger('logger test')
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")

运行结果如下图所示:
INFO
当将输出level设置为DEBUG的时候,DEBUG信息也被输出如下图所示:
debug
logging.basicConfig函数中各个参数定义如下:
filename:指定日志文件名;
filemode:和file函数意义相同,指定日志文件的打开模式,’w’或者’a’;
datefmt:指定时间格式,同time.strftime();
level:设置日志级别,默认logging.WARNING,具体包FATAL/CRITICAL/ERROR/WARNNING/INFO/DEBUG等几个消息级别;
stream:指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略;
format:指定输出的格式和内容,具体参数如下

%(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:打印日志信息

2. 输出到文件

通过logging.FileHandler获得文件的句柄,代码如下:

import logging
logger = logging.getLogger('logger test')
logger.setLevel(level = logging.INFO)
handler = logging.FileHandler("log.txt")
handler.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s %(name)s %(levelname)s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)

logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")

结果被输出到Log.txt文件中如下图所示:
这里写图片描述

logging模块还有其他的一些高级功能,这里暂时用不到,就留到下回分解了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值