34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
const util = require('util');
|
|
|
|
const Handler = require('./handler');
|
|
const StreamHandler = require('./stream');
|
|
const LEVELS = require('../levels');
|
|
|
|
function ConsoleHandler(options) {
|
|
options = options || {};
|
|
options.stream = process.stdout;
|
|
this._out = new StreamHandler(options);
|
|
options.stream = process.stderr;
|
|
this._err = new StreamHandler(options);
|
|
Handler.call(this, options);
|
|
}
|
|
|
|
util.inherits(ConsoleHandler, Handler);
|
|
|
|
ConsoleHandler.prototype.emit = function consoleEmit(record) {
|
|
var handler = (record.level >= LEVELS.WARN) ? this._err : this._out;
|
|
handler.emit(record);
|
|
};
|
|
|
|
ConsoleHandler.prototype.setFormatter = function setFormatter(formatter) {
|
|
Handler.prototype.setFormatter.call(this, formatter);
|
|
this._out.setFormatter(formatter);
|
|
this._err.setFormatter(formatter);
|
|
};
|
|
|
|
module.exports = ConsoleHandler;
|