2011-09-29 12 views
10

Mam tylko npm install node-syslog, ale to nie działa.Potrzebuję sugestii dla SysLog z Node.js

Mam serwer syslog (adres IP i lokalny0).

Szukam modułu syslog, który pomoże mi opublikować wiadomość w syslog. Ale nie wiem, który powinienem użyć. Proszę, daj mi jakąś sugestię. dzięki.

oh .. jeśli istnieje dobry parser syslog (node.js), proszę również dać mi znać. :)

Odpowiedz

10

Używałem zarówno

https://github.com/cloudhead/node-syslog

i

https://github.com/cconstantine/syslog-node

bez żadnych problemów.

Ale kiedy jestem w sytuacji biegnę:

npm search $(what im looking for) 

Pobiegłem wyszukiwarki syslog npm i jest to moje wyjście, nadzieję, że to pomaga.

ain     Syslog logging for node.js         =akaspin  (prehi 
ain-tcp    Syslog logging for node.js, with syslog/TCP support   =andry1  2011-0 
ain2     Syslog logging for node.js. Continuation of ain    =phuesler  2012-0 
ain2-fs    Syslog logging for node.js. Continuation of ain    =ossareh  2011-1 
ain2-papandreou  Syslog logging for node.js. Continuation of ain    =papandreou 2012-0 
artifi-glossy  Syslog parser and producer. It is fork of https://github.com/squeeks/glossy - pleas 
beatit    Simple agent that can stay hooked on a log file (even if while log rotated and send 
frontail    tail -F output in browser          =mthenw  2012-0 
glossy    Syslog parser and producer         =squeeks  2012-0 
netasqsyslog   Syslog for NETASQ security appliances       =sdolard  2012-0 
node-nativesyslog JavaScript-only syslog module for NodeJS      =janoszen  2011-1 
node-syslog   Node module to support sending messages to syslog daemon  =schamane  2012-0 
posix    The missing POSIX system calls        =mel   2012-0 
rconsole    'syslog.h' bindings with a revised console module    =tblobaum  2012-0 
simplelogger   A simple logging solution supporting file, stdout and syslog output =ditesh 2011-06 
splog    A NodeJS library which provides a syslog-like remote logging interface =mattbornski 
syslog    Syslog-ng TCP client, with basic fault-tolerance.    =cloudhead  2011-0 
syslog-node   A syslog server and realtime web view of syslog messages  =cconstantine 2011-0 
syslogd-nodejs  syslogd in node.js with logging to cli, file, mongodb and via websockets =crahles 2 
tails    Aggregate your syslog messages & filter for those that matter in real time. =porter 
winston-syslog  A syslog transport for winston        =indexzero  2011-0 
winston-syslog-ain2 An ain2 based syslog transport for winston     =lamtha  2012-0 
1

Wygląda na to, że społeczność nie osiągnęła konsensusu. Każdy z projektów węzła syslog, z którymi miałem do czynienia, ma długo otwarte problemy, które wydają się dość znaczące (lub są miastami widm).

Winston wydaje się być najlepszą opcją do rejestrowania ogólnego przeznaczenia i ma dostępny transport winston-syslog. Problem polega na tym, że wydaje się, że występują w nim pewne istotne problemy: https://github.com/indexzero/winston-syslog/issues

Myślę, że dam sobie winston-syslog-ain2 strzał.

4

Próbowałem większość modułów wymienionych w wyszukiwaniu npm i miałem bardzo mało szczęścia z każdym z nich.

Na szczęście w końcu natknąłem rconsole który znalazłem był znacznie łatwiejszy w konfiguracji i obsłudze niż którykolwiek z pozostałych.

To również miłe, że pozwala na kolorowanie i sygnaturę czasową (i śledzenie itp.) Stdouta podczas programowania.

Aby skorzystać, wystarczy npm i rconsole, a następnie, od docs:

require('rconsole') 
console.set({ facility: 'local0', title: 'basic' }) 
console.emerg('level 0') 
console.alert('level 1') 
console.crit('level 2') 
console.error('level 3') 
console.warn('level 4') 
console.notice('level 5') 
console.info('level 6') 
console.log('level 6') 

na OSX, mogę sprawdzić syslog używając tail -f /var/log/system.log

3

syslog-stream tworzy strumień zapisu do syslog za pomocą natywnych wiązań C. Obejmuje również testy.

Następnie można napisać do tego strumienia bezpośrednio lub jako dane wyjściowe dla innego modułu rejestrowania.

12

Tak jak ty, ja też szukając syslog roztworu aż znalazłem tę opinię:

dzienniki są strumieniem, a wypada wszystkim traktować je jako takie. Twoje programy powinny logować się do standardowe wyjście i/lub stderr i pomijać każdą próbę do obsługi ścieżek dziennika, rotacji dziennika lub wysyłania logów przez protokół syslog . Kierowanie do miejsca, w którym znajduje się strumień dziennika programu, można pozostawić w górę do kontenera środowiska wykonawczego: lokalnego terminalu lub IDE (w środowiskach rozwojowych ), skryptu uruchamiania Upstart/Systemd (w tradycyjnych środowiskach hostingu ) lub systemu takiego jak Logplex/Heroku (w środowisku platformy ).

http://adam.heroku.com/past/2011/4/1/logs_are_streams_not_files/

Teraz mam szczęśliwie zawarta moje poszukiwania i używam console.log.

+1

Jestem bardzo za tym podejściem! –

+1

Są bardziej jak niezawodne uporządkowane datagramy niż strumienie. Zaletą struktur logowania jest to, że zachowują granice logów. (rozważ logi z tracebackami lub obiekty JSON w nich). – alanfalloon

Powiązane problemy