1
0
mirror of https://github.com/comatory/fb2iCal synced 2025-06-05 22:09:25 +02:00

add logger and daily rotating log files

This commit is contained in:
Ondrej Synacek
2019-10-24 10:21:41 +02:00
parent 610ad61097
commit 06469d3236
11 changed files with 317 additions and 35 deletions

View File

@@ -1,4 +1,7 @@
const dayjs = require('dayjs')
const winston = require('winston')
require('winston-daily-rotate-file')
const path = require('path')
const checkValidURL = (url) => {
return checkURLFormat(url) ||
@@ -52,6 +55,35 @@ const getNormalizedUrl = (URLparameter) => {
return mobileUrl
}
const createDailyRotateLogFileTransport = () => {
const transport = new (winston.transports.DailyRotateFile)({
filename: path.join(__dirname, '..', 'logs', 'app-%DATE%.log'),
datePattern: 'YYYY-MM-DD-HH',
zippedArchive: false,
maxSize: '20m',
maxFiles: '14d',
})
return transport
}
const createTransports = (dev) => {
return [
dev && new winston.transports.Console(),
createDailyRotateLogFileTransport(),
].filter(transport => transport)
}
const createAppLogger = ({ dev }) => {
return winston.createLogger({
transports: createTransports(dev),
format: winston.format.combine(
winston.format.colorize(),
winston.format.json()
),
})
}
module.exports = {
checkValidURL,
checkURLFormat,
@@ -60,4 +92,6 @@ module.exports = {
createMobileURL,
createURL,
getNormalizedUrl,
createAppLogger,
createTransports,
}