2011-09-29 8 views
10

Ho appena installato npm node-syslog ma non funziona.Richiesto suggerimento per SysLog con Node.js

Ho un server syslog (indirizzo IP e locale0).

E sto cercando un modulo syslog per aiutarmi a pubblicare il messaggio su syslog. Ma non so quale dovrei usare. Per favore, dammi qualche suggerimento. Grazie.

oh .. se c'è un buon parser syslog (node.js), per favore fatemelo sapere. :)

risposta

10

Ho usato sia

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

e

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

senza problemi.

Ma quando sono nella vostra situazione corro:

npm search $(what im looking for) 

ho corse NPM syslog di ricerca e questa è la mia uscita, spero che aiuta.

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

Non sembra che la comunità abbia raggiunto un consenso qui. Ognuno dei progetti di syslog del nodo che ho incontrato ha problemi aperti da molto tempo che sembrano abbastanza significativi (o sono città fantasma).

Winston sembra essere l'opzione migliore per la registrazione generica e dispone del trasporto winston-syslog. Il problema è che sembrano esserci alcuni problemi piuttosto significativi: https://github.com/indexzero/winston-syslog/issues

Penso che darò un colpo a winston-syslog-ain2, me stesso.

4

Ho provato la maggior parte dei moduli elencati nella ricerca in npm e ho avuto davvero poca fortuna con nessuno di loro.

Per fortuna, alla fine, ci siamo imbattuti in rconsole che ho trovato era molto più facile da configurare e utilizzare rispetto a tutti gli altri.

È anche bello che ti permette di colorare e timestamp (e tracciare, ecc.) Il tuo stdout durante lo sviluppo.

da usare, basta npm i rconsole, quindi, dalla documentazione:

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') 

su OSX, controllo il mio syslog utilizzando tail -f /var/log/system.log

3

syslog-stream crea un flusso scrivibile per syslog utilizzando le associazioni nativi C. Include anche test.

È quindi possibile scrivere direttamente su quel flusso o come output per un altro modulo di registrazione.

12

Come voi, sono stato anche alla ricerca di una soluzione syslog fino a quando ho trovato questo parere:

registri sono un ruscello, e conviene a tutti di trattarli come tali. I programmi devono accedere a stdout e/o stderr ed omettere qualsiasi tentativo per gestire i percorsi dei registri, la rotazione dei registri o l'invio dei registri tramite il protocollo syslog . È possibile lasciare il flusso di log del programma a nel contenitore di runtime: un terminale locale o IDE (negli ambienti di sviluppo ), uno script di avvio Updart/Systemd (nei tradizionali ambienti di hosting ) o un sistema come Logplex/Heroku (in un ambiente piattaforma ).

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

Ora ho felicemente concluso la mia ricerca e sto usando console.log.

+1

Sono molto favorevole a questo approccio! –

+1

Sono più simili ai datagrammi ordinati affidabili che agli stream. Il vantaggio dei framework di registrazione è che mantengono i limiti del messaggio di registro. (considera i log con traceback o oggetti JSON in essi contenuti). – alanfalloon

Problemi correlati