很多程序都有记录日志的需求,日志不仅可以保存访问记录,也可以有错误,警告等信息输出。
python的logging模块提供了标准的日志接口,可以通过logging存储各种格式的日志。logging模块是python内置的日志记录模块。
logging的日志可分为五个级别,分别是:debug(),info(),warning(),error(),critical(),从左到右级别以此增加。
1.会直接输出到屏幕,没有指定操作系统用户,默认是root来执行。
import logging logging.error("time is so quick") logging.warning("user attempted error password for 3times") # ERROR:root:time is so quick # WARNING:root:user attempted error password for 3times
2.logging.basicConfig(filename,level) ,basicConfig 基本配置。
注意:logging后面跟着的级别应大写。
只有级别高于或者等于设定级别的日志内容才能够存入到日志里。
import logging logging.basicConfig(filename="111.log", level=logging.DEBUG) logging.debug("user") logging.error("help") logging.warning("hello") logging.critical("info") logging.info("helps") # DEBUG:root:user # ERROR:root:help # WARNING:root:hello # CRITICAL:root:info # INFO:root:helps
3.设置格式,时间 + 信息。
import logging logging.basicConfig(filename="111.log", level=logging.DEBUG, format = "%(asctime)s %(message)s", datefmt = "%Y/%m/%d-%I:%M :%S %p") logging.debug("user") logging.error("help") logging.warning("hello") logging.critical("info") logging.info("helps")
4.级别是怎么划分的?
通过%(levelno)s 可以查看到底层对应的数字,debug最低,为10,critical最高,为50.
import logging logging.basicConfig(filename="111.log", level=logging.DEBUG, format = "%(asctime)s %(levelno)s %(message)s", datefmt = "%Y/%m/%d-%I:%M :%S %p") logging.debug("user") logging.error("help") logging.warning("hello") logging.critical("info") logging.info("helps") # 2018/04/19-03:45 :22 PM 10 user # 2018/04/19-03:45 :22 PM 40 help # 2018/04/19-03:45 :22 PM 30 hello # 2018/04/19-03:45 :22 PM 50 info # 2018/04/19-03:45 :22 PM 20 helps
5.常用的一些格式