Registry /
observability / winston-express-middleware
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
expressWinston
✓ import expressWinston from 'winston-express-middleware'
✗ const expressWinston = require('winston-express-middleware').default
Default export via ESM. CommonJS require yields the module directly.
logger
✓ import { logger } from 'winston-express-middleware'
✗ const logger = require('winston-express-middleware').logger
Named export for the request logging middleware.
errorLogger
✓ import { errorLogger } from 'winston-express-middleware'
✗ const errorLogger = require('winston-express-middleware').errorLogger
Named export for the error logging middleware.
Shows basic setup with request and error logging middleware, using Console transport with JSON and colorization.
const winston = require('winston');
const expressWinston = require('winston-express-middleware');
const express = require('express');
const app = express();
// Request logging
app.use(expressWinston.logger({
transports: [new winston.transports.Console({ json: true, colorize: true })],
meta: true,
msg: 'HTTP {{req.method}} {{req.url}}',
expressFormat: true,
colorStatus: true
}));
app.get('/', (req, res) => res.send('Hello'));
// Error logging (after routes)
app.use(expressWinston.errorLogger({
transports: [new winston.transports.Console({ json: true, colorize: true })]
}));
app.use((err, req, res, next) => {
res.status(500).send('Error');
});
app.listen(3000);
Errors
Common errors & fixes
Cannot find module 'winston-express-middleware'
Package not installed.
fixRun 'npm install winston-express-middleware' in your project directory.
TypeError: expressWinston.logger is not a function
Incorrect import style (e.g., destructuring non-existent export).
fixUse 'const expressWinston = require('winston-express-middleware')' and then 'expressWinston.logger(...)'. Error: winston.transports.Console is not a constructor
Using winston v2+ API with older transport pattern.
fixEnsure winston version 1.0.x is installed: 'npm install winston@1.0.x'.
Warning: options.transports is deprecated, use winstonInstance
Mixed API usage; both options provided.
fixRemove 'transports' if using 'winstonInstance', or vice versa.
Audit
Dependencies
winstonrequiredCore logging library; must be installed separately as peer dependency (v1.0.x required)