2017-01-31 07:50:28 +01:00
|
|
|
const Backbone = require('backbone');
|
|
|
|
const Logger = require('../../util/logger');
|
|
|
|
const Format = require('../../util/format');
|
2016-06-04 10:31:06 +02:00
|
|
|
|
2017-01-31 07:50:28 +01:00
|
|
|
const SettingsLogView = Backbone.View.extend({
|
2016-06-04 10:31:06 +02:00
|
|
|
template: require('templates/settings/settings-logs-view.hbs'),
|
|
|
|
|
2017-04-15 20:32:43 +02:00
|
|
|
render() {
|
2017-01-31 07:50:28 +01:00
|
|
|
const logs = Logger.getLast().map(item => ({
|
2016-07-17 13:30:38 +02:00
|
|
|
level: item.level,
|
2017-04-15 20:32:43 +02:00
|
|
|
msg: '[' + Format.padStr(item.level.toUpperCase(), 5) + '] ' + item.args.map(arg => this.mapArg(arg)).join(' ')
|
2016-07-17 13:30:38 +02:00
|
|
|
}));
|
2016-06-04 10:31:06 +02:00
|
|
|
this.renderTemplate({ logs: logs });
|
2016-06-04 14:59:03 +02:00
|
|
|
return this;
|
2017-04-15 20:32:43 +02:00
|
|
|
},
|
|
|
|
|
|
|
|
mapArg(arg) {
|
|
|
|
if (arg === null) {
|
|
|
|
return 'null';
|
|
|
|
}
|
|
|
|
if (arg === undefined) {
|
|
|
|
return 'undefined';
|
|
|
|
}
|
2017-04-15 20:34:58 +02:00
|
|
|
if (arg === '') {
|
|
|
|
return '""';
|
|
|
|
}
|
2017-04-15 20:32:43 +02:00
|
|
|
if (!arg || !arg.toString() || typeof arg !== 'object') {
|
|
|
|
return arg ? arg.toString() : arg;
|
|
|
|
}
|
|
|
|
if (arg instanceof Array) {
|
|
|
|
return '[' + arg.map(item => this.mapArg(item)).join(', ') + ']';
|
|
|
|
}
|
|
|
|
let str = arg.toString();
|
|
|
|
if (str === '[object Object]') {
|
|
|
|
const cache = [];
|
|
|
|
str = JSON.stringify(arg, (key, value) => {
|
|
|
|
if (typeof value === 'object' && value !== null) {
|
|
|
|
if (cache.indexOf(value) !== -1) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
cache.push(value);
|
|
|
|
}
|
|
|
|
return value;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return str;
|
2016-06-04 10:31:06 +02:00
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
module.exports = SettingsLogView;
|