diff --git a/changelog.rst b/changelog.rst index 0c0d426ca..ded4e9e6d 100644 --- a/changelog.rst +++ b/changelog.rst @@ -8,6 +8,7 @@ Changelog 2020-xx-xx • `full history `__ +- Add logger parameter for the LoggingEventHandler (`#676 `_) - Replace mutable default arguments with ``if None`` implementation (`#677 `_) - Thanks to our beloved contributors: @Sraw diff --git a/src/watchdog/events.py b/src/watchdog/events.py index e9565d360..766cca050 100755 --- a/src/watchdog/events.py +++ b/src/watchdog/events.py @@ -534,30 +534,35 @@ def dispatch(self, event): class LoggingEventHandler(FileSystemEventHandler): """Logs all the events captured.""" + def __init__(self, logger=None): + super(LoggingEventHandler, self).__init__() + + self.logger = logger or logging.root + def on_moved(self, event): super(LoggingEventHandler, self).on_moved(event) what = 'directory' if event.is_directory else 'file' - logging.info("Moved %s: from %s to %s", what, event.src_path, - event.dest_path) + self.logger.info("Moved %s: from %s to %s", what, event.src_path, + event.dest_path) def on_created(self, event): super(LoggingEventHandler, self).on_created(event) what = 'directory' if event.is_directory else 'file' - logging.info("Created %s: %s", what, event.src_path) + self.logger.info("Created %s: %s", what, event.src_path) def on_deleted(self, event): super(LoggingEventHandler, self).on_deleted(event) what = 'directory' if event.is_directory else 'file' - logging.info("Deleted %s: %s", what, event.src_path) + self.logger.info("Deleted %s: %s", what, event.src_path) def on_modified(self, event): super(LoggingEventHandler, self).on_modified(event) what = 'directory' if event.is_directory else 'file' - logging.info("Modified %s: %s", what, event.src_path) + self.logger.info("Modified %s: %s", what, event.src_path) class LoggingFileSystemEventHandler(LoggingEventHandler):