ccbc63cade75a2753793c4669b4fbcfb49dafafc
1 import { Console
, File
} from
'winston/lib/winston/transports';
2 import { Logger
, createLogger
, format
, transport
} from
'winston';
4 import Configuration from
'./Configuration';
5 import DailyRotateFile from
'winston-daily-rotate-file';
6 import Utils from
'./Utils';
8 let transports
: transport
[];
9 if (Configuration
.getLogRotate()) {
10 const logMaxFiles
= Configuration
.getLogMaxFiles();
12 new DailyRotateFile({ filename
: Utils
.insertAt(Configuration
.getLogErrorFile(), '-%DATE%', Configuration
.getLogErrorFile().indexOf('.log')), level
: 'error', maxFiles
: logMaxFiles
}),
13 new DailyRotateFile({ filename
: Utils
.insertAt(Configuration
.getLogFile(), '-%DATE%', Configuration
.getLogFile().indexOf('.log')), maxFiles
: logMaxFiles
}),
17 new File({ filename
: Configuration
.getLogErrorFile(), level
: 'error' }),
18 new File({ filename
: Configuration
.getLogFile() }),
22 const logger
: Logger
= createLogger({
23 level
: Configuration
.getLogLevel(),
24 format
: format
.combine(format
.splat(), format
[Configuration
.getLogFormat()]()),
25 transports
: transports
,
29 // If enabled, log to the `console` with the format:
30 // `${info.level}: ${info.message} JSON.stringify({ ...rest }) `
32 if (Configuration
.getLogConsole()) {
33 logger
.add(new Console({
34 format
: format
.combine(format
.splat(), format
[Configuration
.getLogFormat()]()),
38 export default logger
;