Vojtech Szocs has submitted this change and it was merged.
Change subject: webadmin,userportal: Persistent client-side logging infra
......................................................................
webadmin,userportal: Persistent client-side logging infra
This patch adds following changes to WebAdmin & UserPortal:
1, New log handler (LocalStorageLogHandler) that uses ClientStorage
for persisting log records in browser via HTML5 Web Storage API.
Note: this works only when the browser supports HTML5 Web Storage
since falling back to cookie-based persistence would essentially
waste the max. cookies per domain limit.
2, Disabled FirebugLogHandler since it's marked as deprecated.
3, Global uncaught exception handler that logs runtime errors and
prevents them from escaping application code into the browser.
Consequence: uncaught exceptions are less likely to "break" the
application's behavior and/or appearance. Runtime errors won't
appear in browser's JS error console anymore, however they will
still be logged by all registered log handlers.
List of effective client-side log handlers:
(a) ConsoleLogHandler (browser `console.log` API)
- works in both Dev & Production mode
(b) [NEW] LocalStorageLogHandler (browser Web Storage API)
- works in both Dev & Production mode
(c) DevelopmentModeLogHandler (DevMode debug session window)
- works only in Dev mode
(d) SystemLogHandler (DevMode process stdout)
- works only in Dev mode
LocalStorageLogHandler handles following key/value pairs:
LogHead # index of the first log record
LogSize # number of log records persisted so far
Log_N # specific log record item
For now, the only way to inspect client-side log records
(including those for uncaught exceptions) is using browser.
In Firefox:
* Open Menu / Developer / Toggle Tools
* on Console tab, type `inspect(localStorage)`
Change-Id: I3b0be449ab425b56a1d7c39efeb1793991e58fa7
Bug-Url:
https://bugzilla.redhat.com/1049409
Bug-Url:
https://bugzilla.redhat.com/1215727
Signed-off-by: Vojtech Szocs <vszocs(a)redhat.com>
---
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/GwtCommon.gwt.xml
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/gin/BaseSystemModule.java
A
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/logging/ClientLogProvider.java
A
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/logging/LocalStorageLogHandler.java
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/BaseApplicationInit.java
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/ClientStorage.java
M
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/system/ClientStorageImpl.java
A
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/utils/AddOnlyRingBuffer.java
A
frontend/webadmin/modules/gwt-common/src/test/java/org/ovirt/engine/ui/common/utils/AddOnlyRingBufferTest.java
M frontend/webadmin/modules/pom.xml
M
frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/system/ApplicationInit.java
M
frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/userportal/UserPortal.gwt.xml
M
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/system/ApplicationInit.java
M
frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/webadmin/WebAdmin.gwt.xml
14 files changed, 548 insertions(+), 89 deletions(-)
Approvals:
Alexander Wels: Looks good to me, approved
Jenkins CI: Verified; Looks good to me, but someone else must approve
Vojtech Szocs: Verified
--
To view, visit
https://gerrit.ovirt.org/25444
To unsubscribe, visit
https://gerrit.ovirt.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3b0be449ab425b56a1d7c39efeb1793991e58fa7
Gerrit-PatchSet: 16
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Vojtech Szocs <vszocs(a)redhat.com>
Gerrit-Reviewer: Alexander Wels <awels(a)redhat.com>
Gerrit-Reviewer: Alona Kaplan <alkaplan(a)redhat.com>
Gerrit-Reviewer: Daniel Erez <derez(a)redhat.com>
Gerrit-Reviewer: Einav Cohen <ecohen(a)redhat.com>
Gerrit-Reviewer: Gilad Chaplik <gchaplik(a)redhat.com>
Gerrit-Reviewer: Greg Sheremeta <gshereme(a)redhat.com>
Gerrit-Reviewer: Jenkins CI
Gerrit-Reviewer: Lior Vernia <lvernia(a)redhat.com>
Gerrit-Reviewer: Tal Nisan <tnisan(a)redhat.com>
Gerrit-Reviewer: Tomas Jelinek <tjelinek(a)redhat.com>
Gerrit-Reviewer: Vojtech Szocs <vszocs(a)redhat.com>
Gerrit-Reviewer: automation(a)ovirt.org