From dac1cd76689005e3903f30c698391b81540dc559 Mon Sep 17 00:00:00 2001 From: Laurent Cozic Date: Wed, 31 Jan 2018 19:51:29 +0000 Subject: [PATCH] Mobile: Allow filtering log by warning/error --- .../lib/components/screens/log.js | 25 ++++++++++++++++--- ReactNativeClient/lib/logger.js | 8 ++++-- .../lib/services/DecryptionWorker.js | 3 +++ 3 files changed, 31 insertions(+), 5 deletions(-) diff --git a/ReactNativeClient/lib/components/screens/log.js b/ReactNativeClient/lib/components/screens/log.js index 103b068578..f8cd0e1e12 100644 --- a/ReactNativeClient/lib/components/screens/log.js +++ b/ReactNativeClient/lib/components/screens/log.js @@ -23,6 +23,7 @@ class LogScreenComponent extends BaseScreenComponent { }); this.state = { dataSource: ds, + showErrorsOnly: false, }; this.styles_ = {}; } @@ -62,13 +63,24 @@ class LogScreenComponent extends BaseScreenComponent { this.resfreshLogEntries(); } - resfreshLogEntries() { - reg.logger().lastEntries(1000).then((entries) => { + resfreshLogEntries(showErrorsOnly = null) { + if (showErrorsOnly === null) showErrorsOnly = this.state.showErrorsOnly; + + let levels = [Logger.LEVEL_DEBUG, Logger.LEVEL_INFO, Logger.LEVEL_WARN, Logger.LEVEL_ERROR]; + if (showErrorsOnly) levels = [Logger.LEVEL_WARN, Logger.LEVEL_ERROR] + + reg.logger().lastEntries(1000, { levels: levels }).then((entries) => { const newDataSource = this.state.dataSource.cloneWithRows(entries); this.setState({ dataSource: newDataSource }); }); } + toggleErrorsOnly() { + const showErrorsOnly = !this.state.showErrorsOnly; + this.setState({ showErrorsOnly: showErrorsOnly }); + this.resfreshLogEntries(showErrorsOnly); + } + render() { let renderRow = (item) => { let textStyle = this.styles().rowText; @@ -91,7 +103,14 @@ class LogScreenComponent extends BaseScreenComponent { renderRow={renderRow} enableEmptySections={true} /> -