-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathlog.js
30 lines (22 loc) · 803 Bytes
/
log.js
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
const Winston = require('winston');
const path = require('path');
const settings = require(__dirname + "/json/settings.json");
const fs = require('fs-extra');
var loggers = {};
exports.init = function() {
var loggersKeys = Object.keys(settings.log);
for (var i = 0; i < loggersKeys.length; i++) {
let key = loggersKeys[i];
let obj = settings.log[key];
let dir = path.dirname(obj.filename);
if (!fs.existsSync(dir))
fs.mkdirSync(dir);
let transports = [ new (Winston.transports.File)(obj) ];
if (settings.consoleOutput)
transports.push(new (Winston.transports.Console)())
loggers[key] = Winston.createLogger({
transports: transports
});
}
}
exports.log = loggers;