2020-05-15 19:48:00 +02:00
|
|
|
import path from 'path';
|
2020-04-12 18:27:01 +02:00
|
|
|
import { createLogger, format, transports } from 'winston';
|
2020-04-14 08:25:58 +02:00
|
|
|
import getConfig from 'next/config';
|
|
|
|
|
|
|
|
const { serverRuntimeConfig } = getConfig();
|
|
|
|
const { logLevel, nodeEnv } = serverRuntimeConfig;
|
2020-04-12 18:27:01 +02:00
|
|
|
|
|
|
|
const combinedFormat =
|
2020-04-14 08:25:58 +02:00
|
|
|
nodeEnv === 'development'
|
2020-04-12 18:27:01 +02:00
|
|
|
? format.combine(
|
|
|
|
format.label({
|
|
|
|
label: path.basename(
|
|
|
|
process && process.mainModule ? process.mainModule.filename : ''
|
|
|
|
),
|
|
|
|
}),
|
|
|
|
format.splat(),
|
|
|
|
format.colorize(),
|
|
|
|
format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
|
|
|
|
format.printf(
|
|
|
|
(info: any) =>
|
|
|
|
`${info.timestamp} ${info.level} [${info.label}]: ${info.message}`
|
|
|
|
)
|
|
|
|
)
|
|
|
|
: format.combine(
|
|
|
|
format.label({
|
|
|
|
label: path.basename(
|
|
|
|
process && process.mainModule ? process.mainModule.filename : ''
|
|
|
|
),
|
|
|
|
}),
|
|
|
|
format.splat(),
|
|
|
|
format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
|
|
|
|
format.printf(
|
|
|
|
(info: any) =>
|
|
|
|
`${info.timestamp} ${info.level} [${info.label}]: ${info.message}`
|
|
|
|
)
|
|
|
|
);
|
|
|
|
|
|
|
|
export const logger = createLogger({
|
2020-04-14 08:25:58 +02:00
|
|
|
level: logLevel,
|
2020-04-12 18:27:01 +02:00
|
|
|
format: combinedFormat,
|
|
|
|
transports: [new transports.Console()],
|
|
|
|
});
|