nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit 1527e0b8f1a06cf0ddd9c21ae2eacabb94cbf707
parent 21e7828d956383c6206f9c9a505f632c2cdc2929
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Fri,  7 Feb 2020 09:53:44 +0100

logging: improve logging for jnx

Diffstat:
Msrc/App.js | 37+++++++++++++++++++++++++++++--------
Msrc/lib/leaflet.control.jnx/index.js | 22+++++++++++++++-------
2 files changed, 44 insertions(+), 15 deletions(-)

diff --git a/src/App.js b/src/App.js @@ -119,7 +119,7 @@ function setUp() { printControl.setMinimized(); } - new L.Control.JNX(layersControl, {position: 'bottomleft'}) + const jnxControl = new L.Control.JNX(layersControl, {position: 'bottomleft'}) .addTo(map) .enableHashState('j'); @@ -218,6 +218,16 @@ function setUp() { }; } + function getErrorLoggingInfo(error) { + return error + ? { + name: error.name, + message: error.message, + stack: error.stack, + } + : null; + } + function logUsedMaps() { const layers = []; map.eachLayer((layer) => { @@ -239,13 +249,7 @@ function setUp() { logging.logEvent('mapRenderEnd', { eventId: e.eventId, success: e.success, - error: e.error - ? { - name: e.error.name, - message: e.error.message, - stack: e.error.stack, - } - : null, + error: getErrorLoggingInfo(e.error), }); }); @@ -271,6 +275,23 @@ function setUp() { }); }); + jnxControl.on('tileExportStart', function(e) { + logging.logEvent('tileExportStart', { + eventId: e.eventId, + layer: getLayerLoggingInfo(e.layer), + zoom: e.zoom, + bounds: getLatLngBoundsLoggingInfo(e.bounds), + }); + }); + + jnxControl.on('tileExportEnd', function(e) { + logging.logEvent('tileExportEnd', { + eventId: e.eventId, + success: e.success, + error: getErrorLoggingInfo(e.error), + }); + }); + logging.logEvent('start', startInfo); logUsedMaps(); } diff --git a/src/lib/leaflet.control.jnx/index.js b/src/lib/leaflet.control.jnx/index.js @@ -90,18 +90,26 @@ L.Control.JNX = L.Control.extend({ const sanitizedLayerName = layerName.toLowerCase().replace(/[ ()]+/u, '_'); const fileName = `nakarte.me_${sanitizedLayerName}_z${zoom}.jnx`; const eventId = logging.randId(); - logging.logEvent('jnx start', {eventId, layerName, zoom, bounds}); + this.fire('tileExportStart', { + eventId, + layer, + zoom, + bounds, + }); makeJnxFromLayer(layer, layerName, zoom, bounds, this.notifyProgress.bind(this)) .then((fileData) => { saveAs(fileData, fileName, true); - logging.logEvent('jnx end', {eventId, success: true}); + this.fire('tileExportEnd', {eventId, success: true}); }) .catch((e) => { - logging.captureException(e, 'Failed to create JNX'); - logging.logEvent('jnx end', {eventId, success: false, error: e.stack}); - notify(`Failed to create JNX: ${e.message}`); - } - ) + logging.captureException(e, 'Failed to create JNX'); + this.fire('tileExportEnd', { + eventId, + success: false, + error: e + }); + notify(`Failed to create JNX: ${e.message}`); + }) .then(() => this.makingJnx(false)); },