七、Logging

Scrapy提供了log功能,可以通过logging模块使用

1、在settings.py配置Logging

  ```

  # 添加如下代码

  LOG_FILE = "xxxSpider.log"

  LOG_LEVEL="INFO"

  ```

  (1)`LOG_ENABLED`:默认:True,启用logging

  (2)`LOG_ENCODING`:默认:"utf-8",logging使用的编码

  (3)`LOG_FILE`:默认:None,在当前目录里创建logging输出文件的文件名

  (4)`LOG_LEVEL`:默认:`DEBUG`,log的最低级别

  (5)`LOG_STDOUT`:默认:False,如果为True,进程所有的标准输出(及错误)将会被重定向到log中。例如,执行print "hello",其将会在Scrapy log中显示  

2、LOG_LEVEL

  Scrapy提供5层logging级别

  (1)CRITICAL——严重错误(critical)

  (2)ERROR——一般错误(regular errors)

  (3)WARNING——警告信息(warning messages)

  (4)INFO——一般信息(informational messages)

  (5)DEBUG——调试信息(debugging messages)

3、logging模块的使用

  3.1 在scrapy.settings文件中

    (1)settings中设置LOG_LEVEL="WARNING",WARNING以下等级的log将不会输出

    (2)settings中设置LOG_FILE='./a.log',设置日志保存的位置,设置后终端不会显示日志内容。

    (3)导入python内置的logging模块,实例化logger的方式在任何文件中使用logger输出内容

      ```

      import logging

      logger = logging.getLogger(__name__)  # __name__为文件的名字

      logger.warning(...)    

      ```

      # 注意此方法需要log_level和settings中的设置保持一致

  3.2 在普通项目中

    ```

    import logging

    logging.basicConfig(...)  # 设置日志输出的样式,格式

    实例化一个`logger = longging.getLogger(__name__)`

    在任何py文件中调用logger即可

    ```

  3.3 案例

    

原文地址:https://www.cnblogs.com/nuochengze/p/12875323.html