アップデート
私はこのように私の問題を解決することができました。Method-Overriding を使用して問題を解決しました。Python スクリプトに MyLoggingEventHandler という別のクラスを作成し、getpass.getuser()
関数を使用してユーザーの名前を含めました。これで、ログ ステートメントでユーザーの詳細を取得できるようになりました。
コード
class MyLoggingEventHandler(LoggingEventHandler):
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, by %s", what, event.src_path, event.dest_path, getpass.getuser())
def on_created(self, event):
super(LoggingEventHandler, self).on_created(event)
what = 'directory' if event.is_directory else 'file'
logging.info("Created %s: %s, by %s", what, event.src_path, getpass.getuser())
def on_deleted(self, event):
super(LoggingEventHandler, self).on_deleted(event)
what = 'directory' if event.is_directory else 'file'
logging.info("Deleted %s: %s, by %s", what, event.src_path, getpass.getuser())
def on_modified(self, event):
super(LoggingEventHandler, self).on_modified(event)
what = 'directory' if event.is_directory else 'file'
logging.info("Modified %s: %s, by %s", what, event.src_path, getpass.getuser())
これらは私のログ ファイルからの 2 行です。
2016-04-17 15:23:16 - Modified file: /path/to/file.txt, by myusername -
2016-04-17 15:23:19 - Modified file: /path/to/file2.txt, by myusername -