Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import appRoot from "app-root-path";
- import winston from "winston";
- const { combine, timestamp, json } = winston.format;
- class Logger {
- constructor(props) {
- let logFolder = `${appRoot}/src/logs`;
- this.logger = winston.createLogger({
- level: 'info',
- format: combine(
- timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }),
- json(),
- ),
- transports: [
- new winston.transports.File({ filename: `${logFolder}/error.log`, level: 'error', json: true, maxsize: 268435456, colorize: true }),
- new winston.transports.File({ filename: `${logFolder}/info.log`, level: 'info', json: true, maxsize: 268435456, colorize: true })
- ]
- })
- if (process.env.NODE_ENV !== 'production') {
- this.logger.add(new winston.transports.Console({
- format: winston.format.simple()
- }));
- }
- }
- log(message, level = 'info') {
- this.logger.log({
- level,
- message,
- })
- }
- }
- export default new Logger();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement