दो लॉग फ़ाइलों को टिक करना


14

मेरे पास एक वेब एप्लिकेशन है जो प्रदर्शन जानकारी के साथ कई लॉग फ़ाइल के लिए आउटपुट करता है। एक लॉग फ़ाइल आउटपुट कोड निष्पादन समय और दूसरा आउटपुट SQL टाइमिंग। मुझे लकड़हारा या कोड पर कोई नियंत्रण नहीं है जो लॉग फ़ाइलों का उत्पादन करता है, लेकिन मैं लॉग को एक स्थान पर आउटपुट करना चाहता हूं।

वर्तमान में मैं कुछ ऐसा कर रहा हूं

tail -f sqlLogs.log | grep sql-time
tail -f perflogs.log | grep exec-time

यह SQL को एप्लिकेशन में निष्पादित होने पर हर बार कंसोल के लिए कुछ आउटपुट देता है। लेकिन मुझे कोड को दो अलग-अलग SSH सत्रों में चलाना है। हालाँकि, मैं दोनों फ़ाइलों को एक ही SSH सत्र में, जो करना चाहता हूं। क्या यह संभव है?

जवाबों:


20

हां, टेल आउटपुट लाइन कमांड लाइन पर दी गई सभी फाइलों से जुड़ी है:

tail -F sqlLogs.log perflogs.log | egrep '(sql-time|exec-time)'

खैर, यह मेरे रास्ते से आसान है! (योग्य, सिर्फ एक उत्तर दिया कि मेरा नहीं है, मैं जिज्ञासा के लिए छोड़ दूंगा)
जेरेमी

4

मल्टीटेल पर एक नजर । यह आपका दोस्त है।

आप कई लॉग इन कर सकते हैं

 - अलग-अलग खिड़कियां, एक अल विम का 'विभाजन'
 - या यह एक दृश्य में दो (या एन) धाराओं को मिलाता है और
 - आप regex द्वारा स्टीम फ़िल्टर कर सकते हैं और, यदि आप चाहें,
 - यह आउटपुट को फाइल में 'टी' करेगा

http://www.vanheusden.com/multitail/

Ubuntu 10.04 पर: sudo apt-get install multitail


2

हां, screenकमांड का उपयोग करके , आप एक टर्मिनल पर 2 बैश सत्र चला सकते हैं।

  • screenआरंभ करने के लिए चलाएँ ,
  • फिर टाइप करें Ctrl-aतो S2 में स्क्रीन विभाजित करने के लिए: (राजधानी एस नोट)।
  • Ctrl-aफिर Tabआपको दो सत्रों के बीच ले जाएगा।
  • Ctrl-aफिर cउस नए क्षेत्र में एक शेल शुरू करेगा।

(कृपया इसका उपयोग करने से पहले रिकार्डो के उत्तर को देखें, उनका तरीका बहुत सरल है, मैं इसे छोड़ दूँगा क्योंकि यह समान लेकिन विभिन्न समस्याओं वाले लोगों के लिए उपयोगी हो सकता है)।


0

आप आउटपुट को एक पाइप पर मल्टीप्लेक्स करने के लिए mkfifo का उपयोग कर सकते हैं

एक पिपो पाइप बनाएं, पाइप के लिए पूंछ एन फाइलें, फिर पाइप को बिल्ली

 mkfifo pipeName
 tail file1 &
 tail file2 &
 ...
 tail fileN &
 cat pipeName

जब समाप्त हो जाए

 rm pipeName

1
यह वास्तव में पेंडो का उपयोग नहीं करता है; आप शायद पूंछ आज्ञा देना चाहते हैं tail fileN >> pipeName
जेरेमी केर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.