@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
66 lines • 7.47 kB
JavaScript
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