//<feature logger>
Ext.define('Ext.log.writer.Writer', {
extend: 'Ext.log.Base',
requires: ['Ext.log.formatter.Formatter'],
config: {
formatter: null,
filters: {}
},
constructor: function() {
this.activeFilters = [];
return this.callParent(arguments);
},
updateFilters: function(filters) {
var activeFilters = this.activeFilters,
i, filter;
activeFilters.length = 0;
for (i in filters) {
if (filters.hasOwnProperty(i)) {
filter = filters[i];
activeFilters.push(filter);
}
}
},
write: function(event) {
var filters = this.activeFilters,
formatter = this.getFormatter(),
i, ln, filter;
for (i = 0,ln = filters.length; i < ln; i++) {
filter = filters[i];
if (!filters[i].accept(event)) {
return this;
}
}
if (formatter) {
event.message = formatter.format(event);
}
this.doWrite(event);
return this;
},
// @private
doWrite: Ext.emptyFn
});
//</feature>