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.