JavaScript:
Skriva till standardfel
Hur:
I Node.js kan skrivning till stderr utföras med metoden console.error()
eller genom att skriva direkt till process.stderr
. Här är exempel som demonstrerar båda tillvägagångssätten:
// Använda console.error()
console.error('Det här är ett felmeddelande.');
// Skriva direkt till process.stderr
process.stderr.write('Det här är ett annat felmeddelande.\n');
Exempelutdata för båda metoderna skulle visas i stderr-strömmen, utan att blanda sig med stdout:
Det här är ett felmeddelande.
Det här är ett annat felmeddelande.
För mer sofistikerad eller applikationsspecifik loggning använder många JavaScript-programmerare tredjepartsbibliotek som winston
eller bunyan
. Här är ett snabbt exempel med winston
:
Först, installera winston
via npm:
npm install winston
Konfigurera sedan winston
att logga fel till stderr:
const winston = require('winston');
const logger = winston.createLogger({
levels: winston.config.syslog.levels,
transports: [
new winston.transports.Console({
stderrLevels: ['error']
})
]
});
// Loggar ett felmeddelande
logger.error('Fel loggat genom winston.');
Denna setup säkerställer att när du loggar ett fel med winston
, dirigeras det till stderr, vilket hjälper till att upprätthålla en tydlig separation mellan standard- och felutdata.