
Winston Has a Free API — Here's How to Build Production Logging in Node.js
Winston is the most popular logging library for Node.js. It supports multiple transports, log levels, formatting, and structured logging for production applications. Installation npm install winston Basic Setup import winston from " winston " ; const logger = winston . createLogger ({ level : " info " , format : winston . format . combine ( winston . format . timestamp (), winston . format . errors ({ stack : true }), winston . format . json () ), defaultMeta : { service : " my-api " }, transports : [ new winston . transports . File ({ filename : " error.log " , level : " error " }), new winston . transports . File ({ filename : " combined.log " }) ] }); // Console in development if ( process . env . NODE_ENV !== " production " ) { logger . add ( new winston . transports . Console ({ format : winston . format . combine ( winston . format . colorize (), winston . format . simple () ) })); } export default logger ; Logging logger . info ( " Server started " , { port : 3000 }); logger . w
Continue reading on Dev.to JavaScript
Opens in a new tab



