UNPKG

1.54 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const log4js = require("log4js");
4const cls_service_1 = require("./services/cls_service");
5exports.DEFAULT_LOG_LEVEL = 'TRACE';
6function createLoggerJsonLayout(appConfig) {
7 log4js.addLayout('json', (loggerConfig) => {
8 return (logEvent) => {
9 logEvent.context = {
10 service: appConfig.appName,
11 mdc: cls_service_1.ClsService.getTrace()
12 };
13 return JSON.stringify(logEvent);
14 };
15 });
16}
17exports.createLoggerJsonLayout = createLoggerJsonLayout;
18function configureLogger(appConfig) {
19 log4js.configure({
20 appenders: {
21 out: {
22 type: 'stdout',
23 layout: {
24 type: 'json'
25 }
26 }
27 },
28 categories: {
29 default: { appenders: ['out'], level: appConfig.logLevel || exports.DEFAULT_LOG_LEVEL }
30 },
31 pm2: appConfig.pm2
32 });
33}
34exports.configureLogger = configureLogger;
35function getLogger(config) {
36 createLoggerJsonLayout(config);
37 configureLogger(config);
38 return log4js.getLogger();
39}
40exports.getLogger = getLogger;
41function replaceConsoleWithLogger(logger) {
42 console.log = logger.log.bind(logger);
43 console.trace = logger.trace.bind(logger);
44 console.debug = logger.debug.bind(logger);
45 console.warn = logger.warn.bind(logger);
46 console.error = logger.error.bind(logger);
47}
48exports.replaceConsoleWithLogger = replaceConsoleWithLogger;