UNPKG

ionic-logging-service

Version:

Logging functionalities for apps built with Ionic framework

31 lines 3.4 kB
import * as log4javascript from "log4javascript"; /** * Formats a logging event into JavaScript Object Notation (JSON). * The implemenatation is mainly the same as with log4javascript.JsonLayout, * with an improvement of serializing messages containing '\"'." */ export class JsonLayout extends log4javascript.JsonLayout { /** * Formats the log message. */ format(loggingEvent) { const eventObj = { logger: loggingEvent.logger.name, timestamp: loggingEvent.timeStampInMilliseconds, level: loggingEvent.level.toString(), url: window.location.href, message: this.isCombinedMessages() ? loggingEvent.getCombinedMessages() : loggingEvent.messages }; return JSON.stringify(eventObj); } /** * Gets the layout's name. * Mainly for unit testing purposes. * * @return layout's name */ toString() { return "Ionic.Logging.JsonLayout"; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1sYXlvdXQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pb25pYy1sb2dnaW5nLXNlcnZpY2Uvc3JjL2xpYi9qc29uLWxheW91dC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssY0FBYyxNQUFNLGdCQUFnQixDQUFDO0FBR2pEOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLGNBQWMsQ0FBQyxVQUFVO0lBRXhEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFlBQTBCO1FBQ3ZDLE1BQU0sUUFBUSxHQUFHO1lBQ2hCLE1BQU0sRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUk7WUFDaEMsU0FBUyxFQUFFLFlBQVksQ0FBQyx1QkFBdUI7WUFDL0MsS0FBSyxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3BDLEdBQUcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDekIsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVE7U0FDL0YsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxRQUFRO1FBQ2QsT0FBTywwQkFBMEIsQ0FBQztJQUNuQyxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBsb2c0amF2YXNjcmlwdCBmcm9tIFwibG9nNGphdmFzY3JpcHRcIjtcbmltcG9ydCB7IExvZ2dpbmdFdmVudCB9IGZyb20gXCJsb2c0amF2YXNjcmlwdFwiO1xuXG4vKipcbiAqIEZvcm1hdHMgYSBsb2dnaW5nIGV2ZW50IGludG8gSmF2YVNjcmlwdCBPYmplY3QgTm90YXRpb24gKEpTT04pLlxuICogVGhlIGltcGxlbWVuYXRhdGlvbiBpcyBtYWlubHkgdGhlIHNhbWUgYXMgd2l0aCBsb2c0amF2YXNjcmlwdC5Kc29uTGF5b3V0LFxuICogd2l0aCBhbiBpbXByb3ZlbWVudCBvZiBzZXJpYWxpemluZyBtZXNzYWdlcyBjb250YWluaW5nICdcXFwiJy5cIlxuICovXG5leHBvcnQgY2xhc3MgSnNvbkxheW91dCBleHRlbmRzIGxvZzRqYXZhc2NyaXB0Lkpzb25MYXlvdXQge1xuXG5cdC8qKlxuXHQgKiBGb3JtYXRzIHRoZSBsb2cgbWVzc2FnZS5cblx0ICovXG5cdHB1YmxpYyBmb3JtYXQobG9nZ2luZ0V2ZW50OiBMb2dnaW5nRXZlbnQpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGV2ZW50T2JqID0ge1xuXHRcdFx0bG9nZ2VyOiBsb2dnaW5nRXZlbnQubG9nZ2VyLm5hbWUsXG5cdFx0XHR0aW1lc3RhbXA6IGxvZ2dpbmdFdmVudC50aW1lU3RhbXBJbk1pbGxpc2Vjb25kcyxcblx0XHRcdGxldmVsOiBsb2dnaW5nRXZlbnQubGV2ZWwudG9TdHJpbmcoKSxcblx0XHRcdHVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG5cdFx0XHRtZXNzYWdlOiB0aGlzLmlzQ29tYmluZWRNZXNzYWdlcygpID8gbG9nZ2luZ0V2ZW50LmdldENvbWJpbmVkTWVzc2FnZXMoKSA6IGxvZ2dpbmdFdmVudC5tZXNzYWdlc1xuXHRcdH07XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KGV2ZW50T2JqKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsYXlvdXQncyBuYW1lLlxuXHQgKiBNYWlubHkgZm9yIHVuaXQgdGVzdGluZyBwdXJwb3Nlcy5cblx0ICpcblx0ICogQHJldHVybiBsYXlvdXQncyBuYW1lXG5cdCAqL1xuXHRwdWJsaWMgdG9TdHJpbmcoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gXCJJb25pYy5Mb2dnaW5nLkpzb25MYXlvdXRcIjtcblx0fVxufVxuIl19