mirror of
https://github.com/plankanban/planka.git
synced 2025-07-23 15:19:44 +02:00
feat: Modify logger to log to file that supports fail2ban (#284)
This commit is contained in:
parent
21ef850913
commit
6429e22d59
12 changed files with 427 additions and 7844 deletions
42
server/utils/logger.js
Normal file
42
server/utils/logger.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
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,
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue