JavaScript:
Pisanie do standardowego błędu
Jak:
W Node.js, pisanie do stderr można zrealizować za pomocą metody console.error()
lub poprzez bezpośrednie pisanie do process.stderr
. Oto przykłady demonstrujące oba podejścia:
// Używając console.error()
console.error('To jest komunikat błędu.');
// Bezpośrednio pisząc do process.stderr
process.stderr.write('To jest kolejny komunikat błędu.\n');
Przykładowe wyjście dla obu metod pojawiłoby się w strumieniu stderr, nie mieszając się z stdout:
To jest komunikat błędu.
To jest kolejny komunikat błędu.
Dla bardziej zaawansowanego lub specyficznego dla aplikacji logowania, wielu programistów JavaScript korzysta z bibliotek stron trzecich, takich jak winston
czy bunyan
. Oto szybki przykład użycia winston
:
Najpierw zainstaluj winston
za pomocą npm:
npm install winston
Następnie skonfiguruj winston
tak, aby logował błędy do stderr:
const winston = require('winston');
const logger = winston.createLogger({
levels: winston.config.syslog.levels,
transports: [
new winston.transports.Console({
stderrLevels: ['error']
})
]
});
// Logowanie komunikatu o błędzie
logger.error('Błąd zalogowany przez winston.');
Ta konfiguracja zapewnia, że gdy zalogujesz błąd za pomocą winston
, zostanie on skierowany do stderr, co pomaga utrzymać wyraźne rozdzielenie między standardowym wyjściem a wyjściem błędów.