2011-09-29 29 views
10

साथ syslog के लिए सुझाव की आवश्यकता है मैं सिर्फ NPM नोड syslog स्थापित किया है, लेकिन यह काम नहीं करता।Node.js

मैं एक syslog सर्वर (आईपी पते और local0) है।

और मैं syslog पर संदेश पोस्ट करने में मेरी सहायता के लिए एक syslog मॉड्यूल की तलाश में हूं। लेकिन मुझे नहीं पता कि मुझे किस का उपयोग करना चाहिए। कृपया मुझे कुछ सुझाव दें। धन्यवाद।

ओह .. यदि कोई अच्छा syslog पार्सर (node.js) है, तो कृपया मुझे भी बताएं। :)

उत्तर

10

मैं दोनों

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

और

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

बिना किसी समस्या के उपयोग किया है।

लेकिन जब मैं अपनी स्थिति में हूँ मैं चलाएँ:

npm search $(what im looking for) 

मैं NPM खोज syslog भाग गया और यह मेरी उत्पादन होता है, आशा है कि यह मदद करता है।

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

यह समुदाय की तरह नहीं दिखता यहाँ एक आम सहमति के लिए आ गया है। प्रत्येक नोड syslog परियोजनाओं में से प्रत्येक में मेरे पास लंबे समय से खुले मुद्दे हैं जो बहुत महत्वपूर्ण लगते हैं (या भूत कस्बों हैं)।

विंस्टन सामान्य उद्देश्य लॉगिंग के लिए सबसे अच्छा विकल्प प्रतीत होता है और इसमें विंस्टन-सिसलॉग परिवहन उपलब्ध है। https://github.com/indexzero/winston-syslog/issues

मुझे लगता है मैं विंस्टन-syslog-ain2 एक शॉट देने के लिए, अपने आप को जा रहा हूँ: समस्या इसके साथ कुछ बहुत महत्वपूर्ण मुद्दों होने लगते हैं।

4

मैंने एनपीएम खोज में सूचीबद्ध अधिकांश मॉड्यूल की कोशिश की, और उनमें से किसी के साथ बहुत कम भाग्य था।

अंत में सौभाग्य से, मैं rconsole जो मैंने पाया ज्यादा कॉन्फ़िगर और दूसरों की तुलना में उपयोग करने के लिए आसान था भर में ठोकर खाई।

यह भी अच्छा है कि यह आपको विकास के दौरान रंग और टाइमस्टैम्प (और ट्रेस इत्यादि) की अनुमति देता है।

डॉक्स से उपयोग करने के लिए, बस 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, मैं अपने syslog tail -f /var/log/system.log

3

syslog-stream का उपयोग कर जाँच देशी सी बाइंडिंग का उपयोग कर syslog के लिए एक लिखने योग्य स्ट्रीम पैदा करता है। इसमें परीक्षण भी शामिल हैं।

इसके बाद आप सीधे या किसी अन्य प्रवेश मॉड्यूल के लिए एक आउटपुट के रूप में है कि धारा में लिख सकते हैं।

12

आप की तरह, मैं भी एक syslog समाधान के लिए खोज रहा था जब तक मैं इस राय पाया:

लॉग्स एक धारा है, और यह उन्हें इस तरह के रूप के इलाज के लिए हर किसी को behooves। आपका कार्यक्रम, stdout और/या stderr करने के लिए लॉग इन करना चाहिए और किसी भी प्रयास को लोग इन रास्तों को संभालने के लिए छोड़ देते हैं लोग इन रोटेशन, और syslog प्रोटोकॉल पर लॉग भेज दिया। प्रोग्रामिंग लॉग स्ट्रीम को को रनटाइम कंटेनर पर छोड़ दिया जा सकता है: स्थानीय टर्मिनल या आईडीई (विकास वातावरण में), एक अपस्टार्ट/सिस्टमड लॉन्च स्क्रिप्ट (पारंपरिक होस्टिंग वातावरण में), या लॉग्प्लेक्स/हेरोकू जैसी प्रणाली (एक मंच वातावरण में)।

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

अब मैं खुशी से मेरी खोज यह निष्कर्ष निकाला गया है और console.log उपयोग कर रहा हूँ।

+1

मैं इस दृष्टिकोण के पक्ष में बहुत ज्यादा हूँ! –

+1

वे विश्वसनीय की तरह अधिक धाराओं से डाटाग्राम आदेश दिया जाता है। प्रवेश चौखटे का लाभ यह है कि वे लॉग संदेश boundries रखना है। (उन में ट्रेस बैक या JSON वस्तुओं के साथ लॉग पर विचार करें)। – alanfalloon