2011-09-29 219 views
10

我剛剛npm install node-syslog,但它不起作用。需要關於SysLog和Node.js的建議

我有一個系統日誌服務器(IP地址和local0)。

而我正在尋找一個系統日誌模塊來幫助我將消息發佈到系統日誌。但我不知道應該使用哪一個。請給我一些建議。謝謝。

哦..如果有一個很好的syslog解析器(node.js),請讓我知道。 :)

回答

10

我用兩個

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

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

沒有任何問題。

但是,當我在你的情況是我運行:

npm search $(what im looking for) 

我跑NPM搜索系統日誌,這是我的輸出,希望它幫助。

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

看起來社區已經在這裏達成共識。我遇到的每個節點系統日誌項目都有很長時間的問題,這些問題看起來相當重要(或者是鬼城)。

溫斯頓似乎是通用日誌記錄的最佳選擇,並具有可用的winston-syslog傳輸。問題是,它似乎有一些相當重要的問題:https://github.com/indexzero/winston-syslog/issues

我想我會給winston-syslog-ain2一槍,我自己。

4

我嘗試了npm搜索中列出的大多數模塊,並且對它們中的任何一個都沒有多少運氣。

幸運的是,最終,我碰到rconsole我發現更容易配置比任何其他人使用跌跌撞撞。

它也很好,它允許你在開發過程中對你的stdout進行顏色和時間戳(以及跟蹤等)。

要使用,只需npm i rconsole,然後從文檔:

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

在OSX,我檢查使用tail -f /var/log/system.log

3

syslog-stream我的系統日誌使用本地C綁定日誌創建一個可寫流。它還包括測試。

然後,您可以直接寫入該流或作爲另一個日誌記錄模塊的輸出。

12

和你一樣,我也尋找系統日誌解決方案,直到我發現了這個觀點:

日誌是一個流,它理應每個人都這樣對待他們。 你的方案應該記錄到標準輸出和/或標準錯誤和遺漏任何企圖 處理日誌路徑,登錄旋轉,或通過系統日誌 協議發送日誌。導演在節目的日誌流那張可以留給 到運行容器:本地終端或IDE(開發 環境),一個暴發戶/ Systemd啓動腳本(在傳統 主機環境),或類似Logplex/Heroku的系統(在平臺 環境中)。

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

現在我高興地總結我的搜索和正在使用console.log

+1

我非常贊成這種辦法的! –

+1

它們更像是比流可靠的有序數據報。日誌框架的優點是它們保留日誌消息邊界。 (考慮其中有回溯或JSON對象的日誌)。 – alanfalloon