logging方法代替print
好处:首先可以将输出结果作为日志文件保存在本地,方便以后查看,其次当py文件比较多时容易混淆,通过logging方法可以确定输出结果来自那个文件。
具体输出的样式是自己定义的,此处可以百度并进行修改,均可。
一般情况下logging的使用:
import logging
#设置日志的输出样式
logging.basicconfig(evel=logging.INFO,
format=1%(levelname)s[%(filename)s:%(lineno)d]'
':%(message)s'
'-%(asctime)s',datefmt=1[%d/%b/s%V %H:9%M:%S]', ) logger=logging.getLogger(-name_)
if_name=='main':#此处为举例
logger.info("this is a info log")
logger.info("this is a info Log 1")
其输出结果为
在其他py文件中要使用改样式,只用
from log_a import logger#从原格式中引入,然后直接使用即可
if __name__=='__main__': #引入之后直接使用即可
logger.warning("this is log b 1")
logger.warning("this is log b 2")
在scrapy中使用
在spider中设置:
在pipeline中设置
上述可以使在spider和pipeline中分别输出为logging格式,下图为结果
但是如果想要保存,还需要在setting 中增加一下内容。
LOG_LEVEL="WARNING"#设置日志显示级别,设置会后只显示warning级别及以上的日志
L0G_FILE="./a.log" "#设置日志保存的位置,设置会后终端不会显示日志内容