From 78ddd22f09e16894386c225a5ac002f96d1fe8d1 Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Tue, 14 May 2019 22:23:34 +0100 Subject: [PATCH] Log more revision information to allow debugging issues --- CliClient/tests/test-utils.js | 7 ++++++- ReactNativeClient/lib/services/RevisionService.js | 12 +++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CliClient/tests/test-utils.js b/CliClient/tests/test-utils.js index d3eed9b43e..747603db35 100644 --- a/CliClient/tests/test-utils.js +++ b/CliClient/tests/test-utils.js @@ -74,6 +74,11 @@ const sleepTime = syncTargetId_ == SyncTargetRegistry.nameToId('filesystem') ? 1 console.info('Testing with sync target: ' + SyncTargetRegistry.idToName(syncTargetId_)); +const dbLogger = new Logger(); +dbLogger.addTarget('console'); +dbLogger.addTarget('file', { path: logDir + '/log.txt' }); +dbLogger.setLevel(Logger.LEVEL_WARN); + const logger = new Logger(); logger.addTarget('console'); logger.addTarget('file', { path: logDir + '/log.txt' }); @@ -181,7 +186,7 @@ async function setupDatabase(id = null) { }; databases_[id] = new JoplinDatabase(new DatabaseDriverNode()); - databases_[id].setLogger(logger); + databases_[id].setLogger(dbLogger); await databases_[id].open({ name: filePath }); BaseModel.db_ = databases_[id]; diff --git a/ReactNativeClient/lib/services/RevisionService.js b/ReactNativeClient/lib/services/RevisionService.js index a25c971a8d..6321e7d305 100644 --- a/ReactNativeClient/lib/services/RevisionService.js +++ b/ReactNativeClient/lib/services/RevisionService.js @@ -10,6 +10,7 @@ const { shim } = require('lib/shim'); const BaseService = require('lib/services/BaseService'); const { _ } = require('lib/locale.js'); const ArrayUtils = require('lib/ArrayUtils.js'); +const { sprintf } = require('sprintf-js'); class RevisionService extends BaseService { @@ -138,10 +139,12 @@ class RevisionService extends BaseService { if (note) { if (oldNote && oldNote.updated_time < this.oldNoteCutOffDate_()) { // This is where we save the original version of this old note - await this.createNoteRevision_(oldNote); + const rev = await this.createNoteRevision_(oldNote); + if (rev) this.logger().debug(sprintf('RevisionService::collectRevisions: Saved revision %s (old note)', rev.id)); } - await this.createNoteRevision_(note); + const rev = await this.createNoteRevision_(note); + if (rev) this.logger().debug(sprintf('RevisionService::collectRevisions: Saved revision %s (Last rev was more than %d ms ago)', rev.id, Setting.value('revisionService.intervalBetweenRevisions'))); doneNoteIds.push(noteId); this.isOldNotesCache_[noteId] = false; } @@ -150,7 +153,10 @@ class RevisionService extends BaseService { if (change.type === ItemChange.TYPE_DELETE && !!change.before_change_item) { const note = JSON.parse(change.before_change_item); const revExists = await Revision.revisionExists(BaseModel.TYPE_NOTE, note.id, note.updated_time); - if (!revExists) await this.createNoteRevision_(note); + if (!revExists) { + const rev = await this.createNoteRevision_(note); + if (rev) this.logger().debug(sprintf('RevisionService::collectRevisions: Saved revision %s (for deleted note)', rev.id)); + } doneNoteIds.push(noteId); }