mirror of https://github.com/scrapy/scrapy.git
Merge pull request #1259 from chekunkov/log-counter-handler-is-never-removed
[MRG +1] LogCounterHandler is never removed from root handlers list, fix that
This commit is contained in:
commit
62a6eff218
|
|
@ -35,8 +35,10 @@ class Crawler(object):
|
|||
|
||||
handler = LogCounterHandler(self, level=settings.get('LOG_LEVEL'))
|
||||
logging.root.addHandler(handler)
|
||||
self.signals.connect(lambda: logging.root.removeHandler(handler),
|
||||
signals.engine_stopped)
|
||||
# lambda is assigned to Crawler attribute because this way it is not
|
||||
# garbage collected after leaving __init__ scope
|
||||
self.__remove_handler = lambda: logging.root.removeHandler(handler)
|
||||
self.signals.connect(self.__remove_handler, signals.engine_stopped)
|
||||
|
||||
lf_cls = load_object(self.settings['LOG_FORMATTER'])
|
||||
self.logformatter = lf_cls.from_crawler(self)
|
||||
|
|
|
|||
Loading…
Reference in New Issue