UNPKG

1.44 kBJavaScriptView Raw
1var winston = require('winston'),
2 paths = require('../configs/paths'),
3 config = require('../configs/config')
4
5require('winston-email');
6
7
8module.exports = () => {
9 var loggerConfig = {
10 //Log Levels based in RFC 5424 (https://tools.ietf.org/html/rfc5424)
11 levels: {
12 debug: 7,
13 info: 6,
14 notice: 5,
15 warning: 4,
16 error: 3,
17 critical: 2,
18 alert: 1,
19 emergency: 0
20 },
21 colors: {
22 debug: 'green',
23 notice: 'white',
24 info: 'blue',
25 warning: 'yellow',
26 error: 'red',
27 critical: 'bgBlack',
28 alert: 'bgYellow',
29 emergency: 'bgRed'
30 },
31 transports: [
32 new(winston.transports.Console)({
33 level: 'debug',
34 colorize: true
35 }),
36 new(winston.transports.File)({
37 name: 'notice-file',
38 filename: 'logs/info.log',
39 level: 'info'
40 }),
41 new(winston.transports.File)({
42 name: 'emergency-file',
43 filename: 'logs/error.log',
44 level: 'error'
45 })
46 ]
47 };
48
49
50 if (config('logs_mail')) {
51 loggerConfig.transports.push(new(winston.transports.Email)(config('logs_mail')));
52 }
53
54
55 return new(winston.Logger)(loggerConfig);
56}
\No newline at end of file