-
Notifications
You must be signed in to change notification settings - Fork 1
/
winston.js
39 lines (37 loc) · 878 Bytes
/
winston.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
const { createLogger, transports, format } = require('winston')
const kLogger = Symbol('logger')
class Winston {
constructor(config, handlers) {
this[kLogger] = this.createLogger(handlers)
}
log(level, message, context) {
this[kLogger].log(level, message, context);
}
createLogger(handlers) {
return createLogger({
levels: {
emerg: 0,
alert: 1,
crit: 2,
error: 3,
warning: 4,
notice: 5,
info: 6,
debug: 7,
warn: 8,
http: 9,
verbose: 10,
silly: 11
},
transports: handlers
})
}
getHandler() {
return this[kLogger]
}
}
module.exports = {
Winston,
transports,
format
}