Python每日小结(八)之 logging模块

      Python logging模块

        logging模块为我们提供了通用的日志系统,我们可以选择使用不同的日志级别,并且可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,或者我们也可以实现自己的日志记录方式,下面参考Logging facility for python对logging模块进行简要说明。

        该模块提供了四个基础类:Logger、Handler、Filter、Formatter。

        1)Loggers expose the interface that application code directly uses;

        2)Handlers sed the log records (created by loggers) to the appropriate destination;

        3)Filters provide a finer grained facility for determining which log records to output;

        4)Formatters specify the layout of log records in the final output.

        通俗地说,logger提供了日志接口,供我们写的应用代码用;handler则将日志记录发送到合适的目的地,比如上面说的文件、HTTP GET/POST等;filter决定一个日志记录是否发送到handler;formatter指定日志记录输出的具体格式。

        下面我们通过几个小例子来学习一下logging模块的简单用法。

        例一:

import logging
logging.warning("Watch out! This is the warning string.")
logging.info("Today is Nov 6.")
        运行结果:
       

        可见,仅仅在console中输出了warning级别的消息,因为默认的level是WARNING。

        我们如何将日志记录到文件中呢?

import logging 
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logging.debug('This is the debug message.')
logging.info('This is the info message.')
logging.warning('This is the warning message.')
        运行上面的代码之后,将会在.py文件的同一个文件夹下生成example.log文件,且文件中记录了:

       

        我们的代码将会对文件'example.log'进行持续写入,并不会覆盖文件中本身有的内容,而是接着继续往下进行写入。

        如果我们想要在每次运行这段代码时,都会清空原有记录,重新对文件进行写入,则改为下面的语句:

logging.basicConfig(filename='example.log',filemode='w',level=logging.DEBUG)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值