Scrapy - l'enregistrement du dossier et la sortie standard (stdout) simultanément, avec les noms

J'ai décidé d'utiliser le Python module de journalisation parce que les messages générés par Torsadée sur les mst erreur est trop long, et je veux INFO niveau significatif des messages tels que ceux générés par les StatsCollector être écrit sur un fichier journal distinct, tout en maintenant les messages de l'écran.

 from twisted.python import log
     import logging
     logging.basicConfig(level=logging.INFO, filemode='w', filename='buyerlog.txt')
     observer = log.PythonLoggingObserver()
     observer.start()

Bien, c'est très bien, j'ai mes messages, mais l'inconvénient est que je ne connais pas les messages sont générés par lequel araignée! C'est mon fichier de log, avec "tordu" affichée par %(name)s:

 INFO:twisted:Log opened.
  2 INFO:twisted:Scrapy 0.12.0.2543 started (bot: property)
  3 INFO:twisted:scrapy.telnet.TelnetConsole starting on 6023
  4 INFO:twisted:scrapy.webservice.WebService starting on 6080
  5 INFO:twisted:Spider opened
  6 INFO:twisted:Spider opened
  7 INFO:twisted:Received SIGINT, shutting down gracefully. Send again to force unclean shutdown
  8 INFO:twisted:Closing spider (shutdown)
  9 INFO:twisted:Closing spider (shutdown)
 10 INFO:twisted:Dumping spider stats:
 11 {'downloader/exception_count': 3,
 12  'downloader/exception_type_count/scrapy.exceptions.IgnoreRequest': 3,
 13  'downloader/request_bytes': 9973,

Contre les messages générés à partir de tordu sur la norme de l'erreur:

2011-12-16 17:34:56+0800 [expats] DEBUG: number of rules: 4
2011-12-16 17:34:56+0800 [scrapy] DEBUG: Telnet console listening on 0.0.0.0:6023
2011-12-16 17:34:56+0800 [scrapy] DEBUG: Web service listening on 0.0.0.0:6080
2011-12-16 17:34:56+0800 [iproperty] INFO: Spider opened
2011-12-16 17:34:56+0800 [iproperty] DEBUG: Redirecting (301) to <GET http://www.iproperty.com.sg/> from <GET http://iproperty.com.sg>
2011-12-16 17:34:57+0800 [iproperty] DEBUG: Crawled (200) <

J'ai essayé d' %(name)s, %(module)s parmi d'autres, mais je ne semble pas être en mesure de montrer l'araignée nom. Personne ne connaît la réponse?

EDIT:
le problème avec l'aide de LOG_FILE et LOG_LEVEL dans les paramètres, c'est que le niveau inférieur des messages n'apparaissent pas sur les mst erreur.

où avez-vous mis votre code ? setting.py ou spider code ?

OriginalL'auteur goh | 2011-12-16