jsev
Version:
Environment for building Web API's.
38 lines • 1.26 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const bunyan_1 = __importDefault(require("bunyan"));
const ConsoleStream_1 = __importDefault(require("./ConsoleStream"));
class Logger extends bunyan_1.default {
}
exports.Logger = Logger;
function createLogger(env) {
const { name, logger: cfg } = env.cfg;
const consoleCfg = cfg ? cfg.console : undefined;
const streams = [
{
stream: new ConsoleStream_1.default(consoleCfg),
type: "raw",
},
];
const bunyanCfg = {
level: bunyan_1.default.INFO,
name,
serializers: bunyan_1.default.stdSerializers,
streams,
...cfg,
};
// Delete so they are not logged
delete bunyanCfg.console;
const log = bunyan_1.default.createLogger(bunyanCfg);
// Global unhandled error logging
process.on("uncaughtException", (err) => {
log.fatal(err, `Unrecoverable error from ${origin}, terminating`);
process.exit(process.exitCode || 1);
});
return log;
}
exports.createLogger = createLogger;
//# sourceMappingURL=Logger.js.map