diff --git a/.gitignore b/.gitignore index a923bd69e..04165b78d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ client/node_modules/* server/node_modules/* server/.env + +client/package-lock.json +server/package-lock.json diff --git a/client/config/logger.js b/client/config/logger.js new file mode 100644 index 000000000..dcd5f6b9a --- /dev/null +++ b/client/config/logger.js @@ -0,0 +1,41 @@ +import { createLogger, format, transports } from 'winston' +const { combine, timestamp, simple } = format +import { inspect } from 'util' + +const options = { + file: { + level: 'info', + filename: '../logs/app.log', + handleExceptions: true, + json: true, + maxsize: 5242880, // 5MB + maxFiles: 5, + colorize: false, + timestamp: true + }, + console: { + level: 'debug', + handleExceptions: true, + json: false, + colorize: true, + timestamp: true + } +} + +const logger = createLogger({ + level: 'info', + format: format.combine( + format.colorize(), + format.timestamp({ format: 'YY/MM/DD HH:mm' }), + format.printf( + info => `${info.timestamp} - ${info.level}: ${JSON.parse(JSON.stringify(inspect(info.message)))}` + ) + ), + transports: [ + new transports.File(options.file), + new transports.Console(options.console) + ], + exitOnError: false // do not exit on handled exceptions +}) + +export default logger