perfect-logger
Version:
A zero-dependency, isomorphic logger for Node.js and Browsers with plugin support.
31 lines (30 loc) • 931 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CallbackAppender = void 0;
const BaseAppender_1 = require("./BaseAppender");
class CallbackAppender extends BaseAppender_1.BaseAppender {
constructor(config) {
super('CallbackAppender', config);
if (typeof config.callback !== 'function') {
throw new Error('CallbackAppender requires a `callback` function in its configuration.');
}
this.callback = config.callback;
}
handle(entry) {
if (entry.level < this.minLevel) {
return;
}
try {
this.callback(entry);
}
catch (e) {
console.error('Error executing callback in CallbackAppender:', e);
}
}
handleBatch(entries) {
for (const entry of entries) {
this.handle(entry);
}
}
}
exports.CallbackAppender = CallbackAppender;