UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

66 lines 7.47 kB
import { LogLevel } from '../services/log-level'; export class LogEntry { date; level; message; params; config; /** * Log entry class * @param level - Log level of this entry * @param message - message to write to the log * @param params - additional parameters to write into the log * @param config - extra class configuration */ constructor(level, message, params, config) { this.date = new Date(); this.level = level; this.message = message; this.params = params; const defaults = { logWithDate: true, serializeParams: true, includeLogLevel: true }; this.config = { ...defaults, ...config }; } get levelString() { return LogLevel[this.level.toString()]; } /** * Serialization of additional parameters of the entry. * @return Serialized JSON */ serializeParams() { if (!this.config.serializeParams) { return ''; } return JSON.stringify(this.params); } /** * Stringify log entry. According to configuration entry can include time, log level and extra parameters * @return Log string */ toString() { let str = ''; if (this.config.logWithDate) { str += '[' + this.date.toISOString() + '] '; } if (this.config.includeLogLevel) { str += '<' + this.levelString + '> '; } str += this.message; if (this.config.serializeParams && this.params) { if (this.params instanceof Array) { if (this.params.length !== 0) { str += ' , params: ' + this.serializeParams(); } } else { str += ' , params: ' + this.serializeParams(); } } return str; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWVudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9sb2dnZXIvbW9kZWxzL2xvZy1lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFlL0MsTUFBTSxPQUFPLFFBQVE7SUFFRCxJQUFJLENBQU87SUFDWCxLQUFLLENBQVc7SUFDaEIsT0FBTyxDQUFTO0lBQ2hCLE1BQU0sQ0FBUztJQUNmLE1BQU0sQ0FBd0I7SUFFOUM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFlLEVBQUUsT0FBZSxFQUFFLE1BQWUsRUFBRSxNQUE4QjtRQUN6RixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxRQUFRLEdBQTBCO1lBQ3BDLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUMsR0FBRyxRQUFRLEVBQUUsR0FBRyxNQUFNLEVBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ1gsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSyxlQUFlO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUM5QixPQUFPLEVBQUUsQ0FBQztTQUNiO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNKLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7WUFDekIsR0FBRyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQztTQUMvQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDN0IsR0FBRyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN4QztRQUNELEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3BCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM1QyxJQUFJLElBQUksQ0FBQyxNQUFNLFlBQVksS0FBSyxFQUFFO2dCQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDMUIsR0FBRyxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7aUJBQ2pEO2FBQ0o7aUJBQU07Z0JBQ0gsR0FBRyxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDakQ7U0FDSjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMb2dMZXZlbH0gZnJvbSAnLi4vc2VydmljZXMvbG9nLWxldmVsJztcblxuLyoqXG4gKiBMb2cgZW50cnkgY29uZmlndXJhdGlvbi5cbiAqIEFsbCBhdHRyaWJ1dGVzIGFyZSBvcHRpb25hbC5cbiAqIEF0dHJpYnV0ZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW4gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGFyZSBzZXQgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dFbnRyeUNvbmZpZ3VyYXRpb24ge1xuICAgIGxvZ1dpdGhEYXRlPzogYm9vbGVhbjtcbiAgICBzZXJpYWxpemVQYXJhbXM/OiBib29sZWFuO1xuICAgIGluY2x1ZGVMb2dMZXZlbD86IGJvb2xlYW47XG5cbiAgICBbazogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgTG9nRW50cnkge1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGRhdGU6IERhdGU7XG4gICAgcHVibGljIHJlYWRvbmx5IGxldmVsOiBMb2dMZXZlbDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuICAgIHB1YmxpYyByZWFkb25seSBwYXJhbXM6IG9iamVjdDtcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnOiBMb2dFbnRyeUNvbmZpZ3VyYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBMb2cgZW50cnkgY2xhc3NcbiAgICAgKiBAcGFyYW0gbGV2ZWwgLSBMb2cgbGV2ZWwgb2YgdGhpcyBlbnRyeVxuICAgICAqIEBwYXJhbSBtZXNzYWdlIC0gbWVzc2FnZSB0byB3cml0ZSB0byB0aGUgbG9nXG4gICAgICogQHBhcmFtIHBhcmFtcyAtIGFkZGl0aW9uYWwgcGFyYW1ldGVycyB0byB3cml0ZSBpbnRvIHRoZSBsb2dcbiAgICAgKiBAcGFyYW0gY29uZmlnIC0gZXh0cmEgY2xhc3MgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGxldmVsOiBMb2dMZXZlbCwgbWVzc2FnZTogc3RyaW5nLCBwYXJhbXM/OiBvYmplY3QsIGNvbmZpZz86IExvZ0VudHJ5Q29uZmlndXJhdGlvbikge1xuICAgICAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmxldmVsID0gbGV2ZWw7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgICAgICBjb25zdCBkZWZhdWx0czogTG9nRW50cnlDb25maWd1cmF0aW9uID0ge1xuICAgICAgICAgICAgbG9nV2l0aERhdGU6IHRydWUsXG4gICAgICAgICAgICBzZXJpYWxpemVQYXJhbXM6IHRydWUsXG4gICAgICAgICAgICBpbmNsdWRlTG9nTGV2ZWw6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jb25maWcgPSB7Li4uZGVmYXVsdHMsIC4uLmNvbmZpZ307XG4gICAgfVxuXG4gICAgZ2V0IGxldmVsU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMb2dMZXZlbFt0aGlzLmxldmVsLnRvU3RyaW5nKCldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlcmlhbGl6YXRpb24gb2YgYWRkaXRpb25hbCBwYXJhbWV0ZXJzIG9mIHRoZSBlbnRyeS5cbiAgICAgKiBAcmV0dXJuIFNlcmlhbGl6ZWQgSlNPTlxuICAgICAqL1xuICAgIHByaXZhdGUgc2VyaWFsaXplUGFyYW1zKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuc2VyaWFsaXplUGFyYW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMucGFyYW1zKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTdHJpbmdpZnkgbG9nIGVudHJ5LiBBY2NvcmRpbmcgdG8gY29uZmlndXJhdGlvbiBlbnRyeSBjYW4gaW5jbHVkZSB0aW1lLCBsb2cgbGV2ZWwgYW5kIGV4dHJhIHBhcmFtZXRlcnNcbiAgICAgKiBAcmV0dXJuIExvZyBzdHJpbmdcbiAgICAgKi9cbiAgICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICBsZXQgc3RyID0gJyc7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sb2dXaXRoRGF0ZSkge1xuICAgICAgICAgICAgc3RyICs9ICdbJyArIHRoaXMuZGF0ZS50b0lTT1N0cmluZygpICsgJ10gJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb25maWcuaW5jbHVkZUxvZ0xldmVsKSB7XG4gICAgICAgICAgICBzdHIgKz0gJzwnICsgdGhpcy5sZXZlbFN0cmluZyArICc+ICc7XG4gICAgICAgIH1cbiAgICAgICAgc3RyICs9IHRoaXMubWVzc2FnZTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnNlcmlhbGl6ZVBhcmFtcyAmJiB0aGlzLnBhcmFtcykge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFyYW1zIGluc3RhbmNlb2YgQXJyYXkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJhbXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0ciArPSAnICwgcGFyYW1zOiAnICsgdGhpcy5zZXJpYWxpemVQYXJhbXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN0ciArPSAnICwgcGFyYW1zOiAnICsgdGhpcy5zZXJpYWxpemVQYXJhbXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgIH1cblxufVxuIl19