@ayanaware/logger
Version:
Useful and great looking logging made easy
37 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConsoleTransport = void 0;
const os = require("os");
const Transport_1 = require("./Transport");
const LogLevel_1 = require("../constants/LogLevel");
const LogLevelValue_1 = require("../constants/LogLevelValue");
class ConsoleTransport extends Transport_1.Transport {
constructor(options = {}) {
options = {
eol: os.EOL,
stderrMinLevel: LogLevel_1.LogLevel.WARN,
...options,
};
super(options);
}
print(meta, message) {
if (LogLevelValue_1.LogLevelValue[meta.level] > LogLevelValue_1.LogLevelValue[this.options.stderrMinLevel]) {
if (console._stdout) {
process.stdout.write(`${message}${this.options.eol}`);
}
else {
// console.log adds a newline
console.log(message);
}
}
else if (console._stderr) {
process.stderr.write(`${message}${this.options.eol}`);
}
else {
// console.error adds a newline
console.error(message);
}
}
}
exports.ConsoleTransport = ConsoleTransport;
//# sourceMappingURL=ConsoleTransport.js.map