Commit | Line | Data |
---|---|---|
7ec46a9a JB |
1 | import 'winston-daily-rotate-file'; |
2 | ||
6bf6769e JB |
3 | import winston, { transport } from 'winston'; |
4 | ||
6af9012e | 5 | import Configuration from './Configuration'; |
7ec46a9a | 6 | import Utils from './Utils'; |
7ec46a9a | 7 | |
6bf6769e JB |
8 | let transports: transport[]; |
9 | if (Configuration.getLogRotate()) { | |
10 | const logMaxFiles = Configuration.getLogMaxFiles(); | |
11 | transports = [ | |
12 | new winston.transports.DailyRotateFile({ filename: Utils.insertAt(Configuration.getLogErrorFile(), '-%DATE%', Configuration.getLogErrorFile().indexOf('.log')), level: 'error', maxFiles: logMaxFiles }), | |
13 | new winston.transports.DailyRotateFile({ filename: Utils.insertAt(Configuration.getLogFile(), '-%DATE%', Configuration.getLogFile().indexOf('.log')), maxFiles: logMaxFiles }), | |
14 | ]; | |
15 | } else { | |
16 | transports = [ | |
17 | new winston.transports.File({ filename: Configuration.getLogErrorFile(), level: 'error' }), | |
18 | new winston.transports.File({ filename: Configuration.getLogFile() }), | |
19 | ]; | |
20 | } | |
7dde0b73 | 21 | |
7ec46a9a | 22 | const logger = winston.createLogger({ |
2e6f5966 | 23 | level: Configuration.getLogLevel(), |
7ec46a9a | 24 | format: winston.format.combine(winston.format.splat(), winston.format[Configuration.getLogFormat()]()), |
6bf6769e | 25 | transports: transports, |
7dde0b73 JB |
26 | }); |
27 | ||
28 | // | |
29 | // If enabled, log to the `console` with the format: | |
30 | // `${info.level}: ${info.message} JSON.stringify({ ...rest }) ` | |
31 | // | |
7ec46a9a JB |
32 | if (Configuration.getLogConsole()) { |
33 | logger.add(new winston.transports.Console({ | |
34 | format: winston.format.combine(winston.format.splat(), winston.format[Configuration.getLogFormat()]()), | |
7dde0b73 JB |
35 | })); |
36 | } | |
37 | ||
3f40bc9c | 38 | export default logger; |