diff options
author | Kristóf Marussy <marussy@mit.bme.hu> | 2021-10-02 16:53:46 +0200 |
---|---|---|
committer | Kristóf Marussy <marussy@mit.bme.hu> | 2021-10-02 16:58:31 +0200 |
commit | ea509702b6ed88951a1b7b109b5dc597ee81112d (patch) | |
tree | 241b9732e7094ef22e7860a9e97a9f67b5b63509 /language-web/src/main/js/xtext/ServiceBuilder.js | |
parent | perf(web): split off CodeMirror chunks (diff) | |
download | refinery-ea509702b6ed88951a1b7b109b5dc597ee81112d.tar.gz refinery-ea509702b6ed88951a1b7b109b5dc597ee81112d.tar.zst refinery-ea509702b6ed88951a1b7b109b5dc597ee81112d.zip |
feat(web): add client-side logging support
Also modified langauge-web/src/main/js/xtext/ServiceBuilder.js to make
sure the new logger is used as soon as xtext is initialized.
Diffstat (limited to 'language-web/src/main/js/xtext/ServiceBuilder.js')
-rw-r--r-- | language-web/src/main/js/xtext/ServiceBuilder.js | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/language-web/src/main/js/xtext/ServiceBuilder.js b/language-web/src/main/js/xtext/ServiceBuilder.js index 38b08ecc..57fcb310 100644 --- a/language-web/src/main/js/xtext/ServiceBuilder.js +++ b/language-web/src/main/js/xtext/ServiceBuilder.js | |||
@@ -18,10 +18,11 @@ define([ | |||
18 | 'xtext/services/ContentAssistService', | 18 | 'xtext/services/ContentAssistService', |
19 | 'xtext/services/HoverService', | 19 | 'xtext/services/HoverService', |
20 | 'xtext/services/OccurrencesService', | 20 | 'xtext/services/OccurrencesService', |
21 | 'xtext/services/FormattingService' | 21 | 'xtext/services/FormattingService', |
22 | '../logging', | ||
22 | ], function(jQuery, XtextService, LoadResourceService, SaveResourceService, HighlightingService, | 23 | ], function(jQuery, XtextService, LoadResourceService, SaveResourceService, HighlightingService, |
23 | ValidationService, UpdateService, ContentAssistService, HoverService, OccurrencesService, | 24 | ValidationService, UpdateService, ContentAssistService, HoverService, OccurrencesService, |
24 | FormattingService) { | 25 | FormattingService, logging) { |
25 | 26 | ||
26 | /** | 27 | /** |
27 | * Builder class for the Xtext services. | 28 | * Builder class for the Xtext services. |
@@ -179,12 +180,22 @@ define([ | |||
179 | }); | 180 | }); |
180 | } | 181 | } |
181 | 182 | ||
182 | services.successListeners = []; | 183 | const log = logging.getLoggerFromRoot('xtext.XtextService'); |
184 | services.successListeners = [function(serviceType, result) { | ||
185 | if (log.getLevel() <= log.levels.TRACE) { | ||
186 | log.trace('service', serviceType, 'request success', JSON.parse(JSON.stringify(result))); | ||
187 | } | ||
188 | }]; | ||
183 | services.errorListeners = [function(serviceType, severity, message, requestData) { | 189 | services.errorListeners = [function(serviceType, severity, message, requestData) { |
184 | if (options.showErrorDialogs) | 190 | const messageParts = ['service', serviceType, 'failed:', message || '(no message)']; |
185 | window.alert('Xtext service \'' + serviceType + '\' failed: ' + message); | 191 | if (requestData) { |
186 | else | 192 | messageParts.push(JSON.parse(JSON.stringify(requestData))); |
187 | console.log('Xtext service \'' + serviceType + '\' failed: ' + message); | 193 | } |
194 | if (severity === 'warning') { | ||
195 | log.warn(...messageParts); | ||
196 | } else { | ||
197 | log.error(...messageParts); | ||
198 | } | ||
188 | }]; | 199 | }]; |
189 | } | 200 | } |
190 | 201 | ||
@@ -271,4 +282,4 @@ define([ | |||
271 | } | 282 | } |
272 | 283 | ||
273 | return ServiceBuilder; | 284 | return ServiceBuilder; |
274 | }); \ No newline at end of file | 285 | }); |