python logging使用

参考:http://www.cnblogs.com/zhbzz2007/p/5943685.html

logging是python自带的日志处理功能,可以方便的录入日志以及显示
logging的日志级别分别为critical、error、warning、info、debug、notset
默认级别为warning,意思就是默认打印warning和以上的级别
简单使用
import logging
logging.info(‘This is info message’)

logging.basicConfig()对日志的格式和输出的配置
logging.basiConfig(level=logging.DEBUG,
format=’%(asctime)s %(name)s [%(levelname)s] %(message)s’,
filename=’app.log’,
filemode=’w’)
这里配置了默认的日志级别为debug,format是日志的打印格式,filename为日志文件,格式必须是绝对路径
filemode为日志的读写级别。

logging.basicConfig()函数设置日志的默认配置,这里只会输出结果到日志文件中并不会在屏幕打印出来
可以通过addHandler的方式添加屏幕打印和配置打印的级别
logger = loggging.getLogger(”)
console = logging.StreamHandler() #该函数作用设置日志输出到流,可以是sys.stdout、sys.stderr或文件
console.setLevel(logging.DEBUG) #这里设置打印日志级别为debug,所以debug和以上的级别都会打印出来
formatter = %(asctime)s %(name)s [%(levelname)s] %(message)s’ #这里设置打印日志的格式
console.setFormatter(formatter) #添加打印格式
logger.addHandler(console) # 添加进Handler中

上面logging.basicConfig()也可以用addHandler的方式来配置日志的输出,不过用的是FileHandler
logger = logging.getLogger(”)
logger.setLevel(level=logging.DEBUG)
handler = logging.FileHandler(‘app.log’)
formatter = %(asctime)s %(name)s [%(levelname)s] %(message)s’
handler.setFormatter(formatter)
logger.addHandler(handler)

基本上日志的输出和打印设置完毕
有时候当我们持续使用日志时会使日志文件变得逐渐庞大,同时不好维护
使用logging.RotatingHandler()函数来切割文件的大小和数量,当文件大小到了最大值时会自动切割文件方便回滚
import logging
from logging.handlers import RotatingHandler # 除FileHandler和StreamHandler,其它的方法在logging.handlers中
logger = logging.getLogger(”)
logger.setLevel(level=logging.DEBUG)
rotaHandler = RotatingHandler(‘app.log’,maxBytes=10*1024*1024,backupCount=5)#最大size为10M,切割文件数量为5
rotaHandler.setLevel(logging.DEBUG) #上面设置了logger.setLevel(level=logging.DEBUG),这一步可以省略
formatter = %(asctime)s %(name)s [%(levelname)s] %(message)s’
rotaHandler.setFormatter(formatter)
logger.addHandler(rotaHandler)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值