Reputation: 54013
I'm just started out with Node and I now want to add some logging to my application, for which Winstonjs seems a perfect fit. So I first installed it:
npm install winston
And then I copied the first example code from the readme (and added the require before it):
"use strict";
let winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
//
// - Write to all logs with level `info` and below to `combined.log`
// - Write all logs error (and below) to `error.log`.
//
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
//
// If we're not in production then log to the `console` with the format:
// `${info.level}: ${info.message} JSON.stringify({ ...rest }) `
//
if (process.env.NODE_ENV !== 'production') {
logger.add(new winston.transports.Console({
format: winston.format.simple()
}));
}
But I get an error:
/Users/kramer65/mms/testlogging.js:7
format: winston.format.json(),
^
TypeError: Cannot read property 'json' of undefined
Does anybody know what I'm doing wrong here? All tips are welcome!
Upvotes: 4
Views: 3648
Reputation: 10224
Your code is compatible with the new v3 wich is not released yet. If you want to install it :
npm i winston@next --save
Or if you want to stick with v2, you can read the v2 doc on npm
Upvotes: 4