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