2013-10-02 1 views
4

디버그 목적으로 Scrapy를 사용할 때 로그 메시지와 print 문을 모두 볼 필요가 있습니다. Hovewer, Scrapy logger를 시작할 때 인쇄 문구가 더 이상 출력되지 않습니다! 다음 두 샘플 코드를 수정하여 두 가지 인쇄 문을 모두 표시해야합니까?scrapy logger가 활성화되었을 때 print 문 출력을 보는 방법

from scrapy import log 

print 'PRINT OUTPUT BEFORE' 
log.start(loglevel='DEBUG',logstdout=True) 
print 'PRINT OUTPUT AFTER' 

출력 :

PRINT OUTPUT BEFORE 

나는이 문제를 해결할 수 있습니다 표준 에러 나 표준 출력을 리디렉션 믿습니다. 어떤 도움이라도 대단히 감사하겠습니다!

답변

6

logstdout은 stdout이 리디렉션되지 않도록하려면 False로 설정해야합니다. 출력으로

from scrapy import log 

print 'PRINT OUTPUT BEFORE' 
log.start(loglevel='DEBUG', logstdout=False) 
print 'PRINT OUTPUT AFTER' 

는 :

PRINT OUTPUT BEFORE 
PRINT OUTPUT AFTER 
2

나는 이전 버전에 대한 위의 일을 생각한다. 그들은 scrapy.log를 사용하지 않는 것 같습니다. 참조 : http://doc.scrapy.org/en/1.0/topics/logging.html

예를 :

내 설정이 경고되면서
import logging 

logging.warning("This is a warning") 
logging.info("This is an info") 
logging.error("This is an error") 

. 아래에만 있습니다.

WARNING:root:This is a warning 
ERROR:root:This is an error 

scrapyd를 사용하는 경우 유용합니다. scrapyd는 모두 인쇄하지만 scrapyd는 같은 방식으로 수행하지 않습니다.

관련 문제