From 4ca251dd9b1d08ec7c59f93933c0e8edca40d736 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 25 Mar 2016 16:52:33 +0100 Subject: [PATCH] Implementing logger interpolation --- Log/Logger.js | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/Log/Logger.js b/Log/Logger.js index 163ff90..08f6a22 100644 --- a/Log/Logger.js +++ b/Log/Logger.js @@ -11,6 +11,8 @@ { "use strict"; + jsOMS.Logger.layout = '{datetime}; {level}; {version}; {os}; {browser}; {path}; {message}' + /** * @constructor * @@ -26,10 +28,32 @@ jsOMS.FormManager.prototype.interpolate = function(message, context, level) { + let newMessage = jsOMS.Logger.layout; + + for(replace in context) { + newMessage = newMessage.replace('{'+replace+'}', context[replace]); + } + + return newMessage; }; + jsOMS.FormManager.prototype.createContext = function(message, context, level) + { + context['datetime'] = (new Date()).toISOString(); + context['version'] = '1.0.0'; + context['os'] = jsOMS.Request.getOS(); + context['browser'] = jsOMS.Request.getBrowser(); + context['path'] = window.location.href; + context['level'] = level; + context['message'] = message; + + return context; + } + jsOMS.FormManager.prototype.write = function(message, context, level) { + context = this.createContext(message, context, level); + if(this.verbose) { console.log(this.interpolate(message, context, level))); } @@ -41,7 +65,7 @@ if(this.remote) { let request = new jsOMS.Request(), request.setData(message); - request.setType('json'); + request.setType(jsOMS.EnumResponseType.JSON); request.setUri('/{/lang}/api/log'); request.setMethod(jsOMS.EnumRequestMethod.POST); request.setRequestHeader('Content-Type', 'application/json');