diff --git a/everpad/provider/daemon.py b/everpad/provider/daemon.py index 6f5879f..ffdcdb2 100644 --- a/everpad/provider/daemon.py +++ b/everpad/provider/daemon.py @@ -14,6 +14,7 @@ import argparse import sys import logging +import traceback class ProviderApp(AppClass): @@ -83,6 +84,12 @@ def log(self, data): if self.verbose: print data + def log_exception(self, e): + self.logger.exception(e) + if self.verbose: + traceback.print_exc() + + @Slot() def terminate(self): self.sync_thread.quit() diff --git a/everpad/provider/sync/agent.py b/everpad/provider/sync/agent.py index 6a9b2c9..03b3d46 100644 --- a/everpad/provider/sync/agent.py +++ b/everpad/provider/sync/agent.py @@ -132,7 +132,7 @@ def perform(self): except Exception, e: # maybe log this self.session.rollback() self._init_db() - self.app.log(e) + self.app.log_exception(e) finally: self.sync_state_changed.emit(const.SYNC_STATE_FINISH) self.status = const.STATUS_NONE diff --git a/everpad/provider/sync/note.py b/everpad/provider/sync/note.py index 3881cb8..b582ade 100644 --- a/everpad/provider/sync/note.py +++ b/everpad/provider/sync/note.py @@ -213,6 +213,8 @@ def _get_full_note(self, note_ttype): def _create_note(self, note_ttype): """Create new note""" + + self.app.log("creating %s" % (note_ttype.title)) note_ttype = self._get_full_note(note_ttype) note = models.Note(guid=note_ttype.guid) @@ -238,6 +240,7 @@ def _update_note(self, note_ttype): def _create_conflict(self, note, note_ttype): """Create conflict note""" + self.app.log("create conflict %s" % (note_ttype.title)) conflict_note = models.Note() conflict_note.from_api(note_ttype, self.session) conflict_note.guid = ''