मेरे पास एक ऐसा एप्लिकेशन है जो दो मोड में चला सकता है, या तो सीएलआई के साथ, या डिमन के रूप में।क्या syslog संदेशों को stdout पर रीडायरेक्ट करने का कोई तरीका है?
मैं लॉगिंग के लिए syslog()
का उपयोग कर रहा हूं। हालांकि, जब सीएलआई मोड में चलाया जाता है तो मुझे सभी लॉगिंग चाहिए, LOG_DEBUG
चिह्नित किए गए संदेशों को छोड़कर, लॉग के बजाय कंसोल पर भेजे जाने वाले संदेश।
मैंने setlogmask()
का उपयोग करने का प्रयास किया है, लेकिन ऐसा लगता है कि यह कंसोल पर रीडायरेक्ट नहीं होता है।
ऐसा करने का सबसे अच्छा तरीका क्या है?
AFAIK, फ्रीबीएसडी का syslog /etc/syslog.conf के माध्यम से रीडायरेक्ट करने की अनुमति देता है। वैसे भी, यह एक ऐसा तरीका नहीं है जिसे आप ढूंढ रहे हैं। मैं फ़ंक्शन लिखने का सुझाव देता हूं जो पता लगाएगा कि क्या आप सीएलआई ऐप या डिमन के रूप में चल रहे हैं और यह क्या करना चाहिए: कंसोल या syslog पर लिखें। – maverik