logger.js
3.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
var log4js = require('log4js');
var mkdirp = require('mkdirp');
var fs = require('fs');
var path = require('path');
var logrotate = require('./log-rotator-util');
var moment = require('moment');
var logConfigPath = path.join(__dirname, '..', 'config', 'log4js_config.json');
var data = fs.readFileSync(logConfigPath, 'utf8');
var logConfig = JSON.parse(data);
var logDir = process.env.LOG_PATH || './logs';
var logRotateTime = process.env.LOG_ROTATE_TIME || '15';
// if (!fs.existsSync(logDir)){
// fs.mkdirSync(logDir);
// }
for (var key in logConfig.appenders) {
var logAppender = logConfig.appenders[key];
if (logAppender.filename) {
var pathFile = logDir+'/'+logAppender.filename;
var dirLog = path.dirname(pathFile);
if (!fs.existsSync(dirLog)){
mkdirp(dirLog);
}
logAppender.filename = pathFile;
logConfig.appenders[key] = logAppender;
}
}
path.dirname(require.main.filename);
log4js.configure(logConfig);
var rotator = null;
if (rotator == null) {
// "access": {
// "type": "file",
rotator = logrotate.rotator;
for (var key in logConfig.appenders) {
if (logConfig.appenders[key].type == 'file') {
var pathLogFile = logConfig.appenders[key].filename;
rotator.register(pathLogFile, {
schedule:logRotateTime+'m',
size: '0m',
compress: false,
count: 0,
format: function (index) {
let format = moment().format("YYYYMMDD_HHmm");
return format;
}
});
}
}
rotator.on('error', function (err) {
// console.log('oops, an error occured!');
});
// // 'rotate' event is invoked whenever a registered file gets rotated
// rotator.on('rotate', function (file) {
// console.log('file ' + file + ' was rotated!');
// });
}
var _logger = log4js.getLogger('phxpartners-app');
var _serviceLogger = log4js.getLogger('phxpartners-service');
var _accessLogger = log4js.getLogger('phxpartners-access');
var logger = module.exports = {};
logger.setHeader = function (fn) {
logger['header'] = fn;
// return this;
};
logger.debug = function (msg) {
var header = logger.header || '';
_logger.debug(header + '::' + msg);
};
logger.info = function (msg) {
var header = logger.header || '';
_logger.info(header + '::' + msg);
};
logger.trace = function (msg) {
var header = logger.header || '';
_logger.trace(header + '::' + msg);
};
logger.warn = function (msg) {
var header = logger.header || '';
_logger.warn(header + '::' + msg);
};
logger.error = function (msg, err) {
var header = logger.header || '';
if (err) {
_logger.error(header + '::' + msg, err);
} else {
_logger.error(header + '::' + msg);
}
};
logger.errorStack = function (err) {
_logger.debug(err.stack || err);
var header = logger.header || '';
_logger.error(header + '::' + JSON.stringify(err.stack || err));
// if (err) {
// _logger.error(header + '::' + msg, err);
// } else {
// _logger.error(header + '::' + msg);
// }
};
logger.log = function (msg) {
var header = logger.header || '';
_logger.log(header + '::' + msg);
};
logger.fatal = function (msg) {
var header = logger.header || '';
_logger.fatal(header + '::' + msg);
};
logger.stream = {
write: function (message, encoding) {
_accessLogger.info(message);
}
};
logger.serviceLog = _serviceLogger;
// function(msg) {
// // var header = logger.header || '';
// _serviceLogger.info(msg);
// };
logger.logResponse = function (msg) {
var header = logger.header || '';
_accessLogger.debug(header + '::' + msg);
};