Mac OS X पर मैं टर्मिनल से Console.app पर कैसे लॉग इन कर सकता हूं?


8

मैंने /dev/consoleमैक OSX के लिए कई स्क्रिप्ट्स का उपयोग देखा है, लेकिन मुझे यकीन नहीं है कि इसका उपयोग कैसे किया जा रहा है। मैंने Console.app की जाँच की और अपने परीक्षण कमांड के परिणाम नहीं देखे:

इको टेस्ट> / देव / कंसोल

वहाँ छप रहा है, तो यह कहाँ जाता है, या आप इसका उपयोग कैसे करेंगे?


@Qosmo। यह प्रश्न सुपर उपयोगकर्ता के लिए 100% वैध है और इसे स्थानांतरित करने के लिए कोई आवश्यकता या कारण नहीं है।
बाइनरीमिस्टिट

वैध होने के नाते इसका मतलब यह नहीं है कि यह बेहतर होगा? इसे क्यों बनाया गया? वैसे भी यह सिर्फ एक सुझाव है ...
बहादुर नौसिखिया

जवाबों:


7

/dev/consoleउपकरण विशेष रूप से से संबंधित नहीं है कंसोल आवेदन।

मैक ओएस एक्स 10.6 में, कंसोल एप्लिकेशन में दो प्रकार के डेटा स्रोत हैं जो इसे पढ़ता है: सामान्य लॉग फाइलें (जैसे फाइलें /var/log/), और संदेश (ऐप्पल विस्तारित) syslog सुविधा के माध्यम से लॉग किया गया।

यदि आपके पास एक लॉग फ़ाइल है जिसे आप मॉनिटर करना चाहते हैं, तो आप कंसोल में फ़ाइल को देखने के लिए फ़ाइल > ओपन… मेनू आइटम ()O) का उपयोग कर सकते हैं । नोट: किसी फ़ाइल को कंसोल की सूची से हटाने का एकमात्र तरीका इसकी फ़ाइल > चाल मेनू मेनू आइटम (menu) का उपयोग करना प्रतीत होता है ; यदि आप कंसोल में इसे देखना बंद करना चाहते हैं, तो फ़ाइल को ट्रैश से बाहर खींचने के लिए तैयार रहें ।

आप syslog सुविधा पर संदेश भेजने के लिए syslog कमांड-लाइन प्रोग्राम का उपयोग कर सकते हैं ।

syslog -s Your message goes here. \(quote special chars for the shell'!)'

हालाँकि, डिफ़ॉल्ट कॉन्फ़िगरेशन के तहत, यह संदेश कंसोल के किसी भी दृश्य में कभी भी दिखाई नहीं देगा क्योंकि यह "स्तर" महत्वपूर्ण होने के लिए बहुत कम है। यह प्रारंभिक फ़िल्टरिंग syslogd के कारण होता है । यह asl.confऔर syslog.confफ़ाइलों द्वारा कॉन्फ़िगर किया गया है। डिफ़ॉल्ट कॉन्फ़िगरेशन अधिकांश संदेशों को संग्रहीत नहीं करता है यदि उनका स्तर बहुत कम है (और syslog -sसबसे निचले स्तर तक चूक)। कंसोल केवल संदेश दिखा सकता है जिसे syslogd द्वारा संग्रहीत किया गया है ।

आप -lविकल्प का उपयोग करके स्तर क्षेत्र का मान बदल सकते हैं :

syslog -s -l notice This message should show up in \"All Messages\" \
  with a Facility of syslog.

noticeस्तर (डिफ़ॉल्ट) निम्नतम स्तर है जिसके लिए है syslogd सबसे संदेशों को संग्रहीत करेगा।

इस तरह उत्पन्न एक संदेश में दिखाई देगा कंसोल 'में निर्मित "सभी Messsages" डेटाबेस खोज रहा
(फ़ाइल All Messages.aslqueryमें /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/तकनीकी रूप से संदेश जहां सुविधा क्षेत्र "शामिल है" रिक्त स्ट्रिंग पर यह सीमित करता है, लेकिन इस हालत तुच्छता से किसी भी सुविधा से संतुष्ट हो जाता है मूल्य)।

यदि आप चाहते हैं कि आपका संदेश कंसोल के "कंसोल संदेश" डेटाबेस खोज में प्रदर्शित हो, तो आपको थोड़ा और विशिष्ट होना चाहिए। यह केवल शो (संग्रहीत) संदेशों को एक सुविधा क्षेत्र है कि बराबर है com.apple.console(फ़ाइल देखें Console Messages.aslqueryमें /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/)। आप सुविधा फ़ील्ड सेट करने के विकल्प द्वारा syslog के साथ ऐसे संदेश उत्पन्न कर सकते हैं -k

syslog -s -k Facility com.apple.console \
          -k Level notice \
          -k Message 'This will show up in "Console Messages"'

उपयोग करते समय -k, सभी विकल्प और संदेश स्वयं -k key valueतर्क के सेट के साथ निर्दिष्ट होने चाहिए (हम -lस्तर सेट करने के लिए उपयोग नहीं कर सकते हैं )। इसका मतलब है कि हमें संदेश को एक ही तर्क देना होगा ताकि यह संदेश क्षेत्र का मूल्य हो सके।


तो "लकड़हारा" कमांड किसके लिए उपयोग किया जाता है? क्या यह सिसलॉग का हिस्सा है?
cwd

@cwd: यह syslog सुविधा का भी उपयोग करता है। Apple के syslog के दो मुख्य इंटरफेस हैं: syslog (3) , और asl (3) । इन दिनों अधिकांश यूनिक्स-वाई सिस्टम पर पूर्व काफी मानक है; लकड़हारा इसका उपयोग करता है। उत्तरार्द्ध एक Apple- विशिष्ट एक्सटेंशन है; syslog आदेश इसे इस्तेमाल करता है। कंसोल दोनों से संदेश देखता है, लेकिन "कंसोल संदेश" खोज को Apple-विस्तारित सुविधा मान (जो लकड़हारा नहीं बना सकता है) की आवश्यकता है।
क्रिस जॉन्सन

7

मैं उपयोग करता हूं:

logger Hello World

हमेशा मेरे लिए काम करता है। "हेल्लो वर्ल्ड" को syslog में डंप करता है, जिसे कंसोल.ऐप में दिखाना चाहिए


0

मैं सकारात्मक नहीं हूं, लेकिन यह उपकरण हो सकता है जब लॉगिन विंडो के उपयोगकर्ता नाम फ़ील्ड में कंसोल दर्ज किया गया हो। जब आप ऊपर दर्ज करते हैं तो यह आपको सीएलआई डंप करता है।


0

आप अपने चयन की एक फ़ाइल को लिख सकते हैं जिसे आप तब कंसोल एप्लिकेशन में देख सकते हैं।

यदि आप उपयोगकर्ता स्तर के उपयोग के लिए लॉगिंग करना चाहते हैं:

echo "test" > /Users/$USER/Library/Logs/your_script.log

या सभी उपयोगकर्ताओं के लिए भरी हुई चीज़ के लिए:

echo "test" > /Library/Logs/your_script.log
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.