pyspider的logging-config设置问题

新手上路,请多包涵

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中或是其他的日志文件中。

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

阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题