NodeJs - konzol átirányítása
Üdv.
Próbálkozok azzal, hogy a console.log és a hibaüzenetek külön helyre menjenek. Az van, hogy appjs-t próbálom használni, de nehéz debuggolni, ha nem látom a hibaüzeneteket...
Így próbáltam fájlba küldeni:A fájl létre is jött, de a console.log ugyanúgy az aktuális konzol ablakba ment, és nem a fájlba. Mit rontok el?
■ Próbálkozok azzal, hogy a console.log és a hibaüzenetek külön helyre menjenek. Az van, hogy appjs-t próbálom használni, de nehéz debuggolni, ha nem látom a hibaüzeneteket...
Így próbáltam fájlba küldeni:
var fs = require('fs');
var logStream = fs.createWriteStream(__dirname+'/node.log', { flags: 'a' });
process.stdout.pipe(logStream);
process.stderr.pipe(logStream);
console.log("teszt");
bízd a felhasználóra
Átirányítás szerintem is jobb ötlet, de...
Köszi, ez hiányzott hozzá!
Nyilván átirányítom másik alkalmazáshoz, csak így volt a legkönnyebb kipróbálni, hogy működik e. Azt olvastam, hogyha direktbe fájl stream-re küldöm, akkor blokkoló lesz, ha viszont másik alkalmazásba, és az írja a fájl stream-et, akkor már nem blokkoló. Mondjuk a végcél az, hogy megnyitom a másik alkalmazást egy konzol ablakban, és oda írja ki az összes hibát a rendszer. Ezt azt hiszem úgy lehet csak, hogy a konzol ablak figyel egy adott portot, az összes alkalmazás meg erre a portra küldi az stdout-ot meg stderr-t.
Talan...
Még nekem sem, majd holnap
Fura, az stderr nem tudom
szerk:
Ja úgy néz ki, hogy stderr-ra semmi nem megy alapból. Stdout-ra kell küldeni mindent, az stderr-hoz nem kell hozzányúlni. Még azon agyalok, hogy az stdout-nál hogyan tudnám a PID-t és a dátumot hozzáadni a log-hoz.
Ez lett a vége a fájlos loggolásnak:
Syslog
Én egyelőre összedobtam egy
logger.js
Persze, érdekel a te megoldásod is, megnézem mindjárt...
Ahogy nézem a tiéd meg kiküldi egy szebb megjelenítőnek. Úgy sejtem ahhoz, hogy windows-on is menjen át kéne írni pl a "unix_dgram"-ot másra. :-) Jól jön, mert a sima szövegként kiküldés, amit én csináltam nem túl szemléletes.
Windows
Nézegettem, hogy vannak