This repository was archived by the owner on Sep 2, 2018. It is now read-only.
forked from johnkeates/gsd
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlog.js
81 lines (56 loc) · 1.47 KB
/
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
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
require('date-utils');
var d = new Date();
var fs = require('fs');
var winston = require('winston');
var logger = new (winston.Logger)({
transports: [
new (winston.transports.File)({
filename: 'logs/' + d.toYMD('.') + '-' + d.toFormat('HH24.MI.SS') + '.log',
level: 'info',
json: false,
timestamp: function() {
return d.toFormat('HH24:MI:SS');
}
})
]
});
var l = {};
l.d = false;
l.v = false;
if (!fs.existsSync('logs/')) {
fs.mkdirSync('logs/');
}
l.debug = function(l, data) {
var self = this;
var d = new Date();
logger.transports.file.level = 'debug';
logger.debug(l, { meta: data });
if(self.d) {
console.log("[" + d.toFormat('HH24:MI:SS') + "][DEBUG] " + l);
}
};
l.error = function(l, data) {
var d = new Date();
logger.error(l, { meta: data });
console.error("[" + d.toFormat('HH24:MI:SS') + "]\x1b[1m\x1b[37m\x1b[41m[ERROR]\x1b[0m " + l);
};
l.verbose = function(l, data) {
var self = this;
var d = new Date();
logger.transports.file.level = 'verbose';
logger.verbose(l, { meta: data });
if(self.v) {
console.log("[" + d.toFormat('HH24:MI:SS') + "][VERBOSE] " + l);
}
};
l.info = function(l, data) {
var d = new Date();
logger.info(l, { meta: data });
console.info("[" + d.toFormat('HH24:MI:SS') + "][INFO] " + l);
};
l.warn = function(l, data) {
var d = new Date();
logger.warn(l, { meta: data });
console.info("[" + d.toFormat('HH24:MI:SS') + "]\x1b[30m\x1b[43m[WARN]\x1b[0m " + l);
};
module.exports = l;