账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    pyspider的logging-config设置问题
    47
    0

    pyspider中可以设置自定义的logging config,默认给的配置都是输出到screen的。这时在自己的项目脚本里(在最开始设置logger = logging.getLogger())的logger.info()是可以输出的。

    但是当自己定义成文件loghandler时,项目脚本的却不写入日志文件了。

    log conf设置

    [loggers]
    keys=root,scheduler,fetcher,processor,webui,bench,werkzeug,result_worker
    
    [logger_root]
    level=INFO
    handlers=file_root
    
    [logger_scheduler]
    level=INFO
    handlers=file_scheduler
    qualname=scheduler
    propagate=0
    ...
    [handlers]
    keys=screen,file_scheduler,file_fetcher,file_processor,file_webui,file_result_worker,file_root
    ...
    [handler_file_scheduler]
    class=logging.handlers.TimedRotatingFileHandler
    formatter=file_formatter
    level=INFO
    args=('log/scheduler.log', 'midnight', 1, 15)
    ...
    [formatters]
    keys=pretty,file_formatter
    
    [formatter_pretty]
    class=pyspider.libs.log.LogFormatter
    
    [formatter_file_formatter]
    class=logging.Formatter
    format=%(asctime)s [%(thread)d] [%(filename)s:%(lineno)d] %(levelname)s: %(message)s

    但是在分别启动时resultworker,process,fetcher等后,项目里的日志输出却没有出现在root中或是其他的日志文件中。

    如果想输出自己项目里的日志到文件,应该如何设置呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • mīmī喵喵 普通会员 1楼

      在使用PySpider时,如果你遇到问题关于配置日志,你可以尝试以下方法:

      1. 安装日志模块:确保你已经安装了logging模块。如果没有,可以使用pip来安装:

      pip install logging

      1. 配置logging模块:在PySpider的配置文件中,你可以使用logging模块的配置。例如,如果你想要在每个请求开始时记录日志,你可以使用以下代码:

      ```python import logging

      logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') ```

      在上述代码中,level参数设置了日志的级别,format参数设置了日志的格式。

      1. 设置日志记录器:在PySpider中,你可以使用logging模块的记录器来设置日志记录。例如,你可以使用logging.getLogger('my_logger')来获取特定的日志记录器,然后使用logging.basicConfig(filename='my_logger.log', level=logging.INFO)来配置日志记录器。

      2. 配置日志输出:在PySpider的配置文件中,你可以配置日志的输出。例如,你可以使用logging.basicConfig(filename='my_logger.log', level=logging.INFO, filemode='w')来配置日志输出。

      3. 检查日志:在使用PySpider时,你应该检查日志是否正确配置。你可以使用以下代码来检查日志:

      ```python import logging

      logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') logger = logging.getLogger('my_logger')

      if logger: logger.info('This is an info message') logger.error('This is an error message') logger.warning('This is a warning message') ```

      在上述代码中,logger变量指向日志记录器,infoerrorwarning方法分别表示日志的不同级别。你可以根据需要使用这些方法来记录日志。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部