mirror of
https://github.com/plankanban/planka.git
synced 2025-07-18 12:49:43 +02:00
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
const winston = require('winston');
|
|
|
|
/**
|
|
* The default timestamp used by the logger.
|
|
* Format example: "2022-08-18 6:30:02"
|
|
*/
|
|
const defaultLogTimestampFormat = 'YYYY-MM-DD HH:mm:ss';
|
|
|
|
const logfile = `${process.cwd()}/logs/planka.log`;
|
|
|
|
/**
|
|
* Log level for both console and file log sinks.
|
|
*
|
|
* Refer {@link https://github.com/winstonjs/winston#logging here}
|
|
* for more information on Winston log levels.
|
|
*/
|
|
const logLevel = process.env.NODE_ENV === 'production' ? 'info' : 'debug';
|
|
|
|
const logFormat = winston.format.combine(
|
|
winston.format.uncolorize(),
|
|
winston.format.timestamp({ format: defaultLogTimestampFormat }),
|
|
winston.format.printf((log) => `${log.timestamp} [${log.level[0].toUpperCase()}] ${log.message}`),
|
|
);
|
|
|
|
// eslint-disable-next-line new-cap
|
|
const customLogger = new winston.createLogger({
|
|
transports: [
|
|
new winston.transports.File({
|
|
level: logLevel,
|
|
format: logFormat,
|
|
filename: logfile,
|
|
}),
|
|
new winston.transports.Console({
|
|
level: logLevel,
|
|
format: logFormat,
|
|
}),
|
|
],
|
|
});
|
|
|
|
module.exports = {
|
|
customLogger,
|
|
};
|