अपाचे: केवल कुछ मॉड्यूल के लिए "LogLevel डीबग" कॉन्फ़िगर करें?


13

मैं अपने वेबसर्वर पर विशेष रूप से mod_authnz_ldap और अन्य mod_auth * मॉड्यूल के साथ कुछ प्रमाणीकरण और प्राधिकरण मुद्दों को डीबग करना चाहता हूं।

इसलिए मैं LogLevel debugअपाचे कॉन्फ़िगरेशन में, या तो विश्व स्तर पर या एक ही VirtualHost के लिए सेट करता हूं । यह मुझे mod_authnz_ldap से उपयोगी जानकारी प्रदान करता है, लेकिन यह SSL मॉड्यूल से एक टन के शोर को भी बाहर निकालता है। एक उदाहरण के लिए नीचे देखें।

वहाँ ssl_engine * के लिए LogLevel को कम करने का एक तरीका है, जबकि अभी भी mod_authnz_ldap के लिए लॉजवेल बनाए रखता है?

हां, मैं कुछ का उपयोग करके लाइनों को बाहर कर सकता हूं grep -v ssl_engine logfile, लेकिन मैं इस अतिरिक्त डेटा को कुछ अन्य syslog पार्सिंग टूल से बाहर करना चाहता हूं। मैं गंतव्य पर इसे बाहर करने के बजाय स्रोत से लॉगिंग को कम कर दूंगा।

[Tue Jul 06 16:55:31 2010] [debug] ssl_engine_io.c(1830): | 0100: 12 23 e7 0f 45 1f 1f d3-ed 12 f8 12 1f a9 90 85  .+..(........... |
[Tue Jul 06 16:55:31 2010] [debug] mod_authnz_ldap.c(474): [client 10.10.10.123] [96991] auth_ldap authenticate: accepting joe
[Tue Jul 06 16:55:31 2010] [debug] mod_authnz_ldap.c(730): [client 10.10.10.123] [96991] auth_ldap authorise: require group: authorisation successful (attribute memberUid) [Comparison true (cached)][Compare True]
[Tue Jul 06 17:02:17 2010] [debug] ssl_engine_io.c(1830): | 0023: 23 ff 29 5a 4b bd 4c e6-bc 36 22 9c c3 22 c2 4b  ..)ZK.L..6u....K |
[Tue Jul 06 17:02:17 2010] [debug] ssl_engine_io.c(1830): | 0023: 23 ff 29 5a 4b bd 4c e6-bc 22 75 9c c3 b6 22 4b  ..)blahblah|

जवाबों:


16

मैं अपने ही सवाल का जवाब दे रहा हूं, जोपी स्टाइल।

अपाचे 2.3

यह अपाचे 2.3 में संभव है।

Apache> HTTP सर्वर> डॉक्यूमेंटेशन> संस्करण 2.4> प्रति-मॉड्यूल लॉगिंग कहता है:

प्रति-मॉड्यूल लॉगिंग

LogLevel निर्देश आपको प्रति-मॉड्यूल आधार पर लॉग गंभीरता स्तर निर्दिष्ट करने की अनुमति देता है। इस तरह, यदि आप सिर्फ एक विशेष मॉड्यूल के साथ किसी समस्या का निवारण कर रहे हैं, तो आप इसके लॉगिंग वॉल्यूम को बिना अन्य मॉड्यूल का विवरण प्राप्त किए बिना चालू कर सकते हैं, जिसमें आप रुचि नहीं रखते हैं। यह mod_proxy या mod_rewr जैसे मॉड्यूल के लिए विशेष रूप से उपयोगी है। जहाँ आप इसके बारे में विवरण जानना चाहते हैं कि यह क्या करने की कोशिश कर रहा है।

अपने LogLevel निर्देश में मॉड्यूल के नाम को निर्दिष्ट करके ऐसा करें:

LogLevel info rewrite:trace5

यह जानकारी के लिए मुख्य Logevel सेट करता है, लेकिन mod_rewrite के लिए इसे ट्रेस 5 तक बदल देता है।

यह प्रति-मॉड्यूल लॉगिंग निर्देशों को प्रतिस्थापित करता है, जैसे कि रेव्रीलॉग, जो सर्वर के पुराने संस्करणों में मौजूद थे।

Apache HTTP सर्वर 2.4 में नई सुविधाओं का अवलोकन कहना:

प्रति-मॉड्यूल और प्रति-निर्देशिका LogLevel कॉन्फ़िगरेशन अब LogLevel को प्रति मॉड्यूल और प्रति निर्देशिका में कॉन्फ़िगर किया जा सकता है। नए स्तर ट्रेस 1 से ट्रेस 8 को डिबग लॉग स्तर से ऊपर जोड़ा गया है।

अपाचे-देव मेलिंगलिस्ट पर चर्चा भी देखें ।

अपाचे 2.2 और इससे पहले:

नहीं, यह Apache 2.2 में संभव नहीं है। एचटीटीपी सर्वर> डॉक्यूमेंटेशन> वर्जन 2.2> मॉड्यूल्स "लॉजवेल डायरेक्टिव" का मैनुअल इस विकल्प को नहीं दिखाता है। वर्तमान में एकमात्र विकल्प अपमानजनक लाइनों को "grep -v" करना है।

अपाचे 2.4 (लेखन के समय प्रस्तावित):

इसे Apache 2.4 के साथ शामिल किया जाएगा। ट्रंक में अपाचे डॉक्स (2.3) वर्तमान में कहते हैं:

संगतता: प्रति-मॉड्यूल और प्रति-निर्देशिका कॉन्फ़िगरेशन Apache HTTP सर्वर 2.3.6 और बाद में उपलब्ध है

तथा:

मॉड्यूल नाम के बिना एक स्तर निर्दिष्ट करना उस स्तर के सभी मॉड्यूल के लिए स्तर को रीसेट करेगा। एक मॉड्यूल नाम के साथ एक स्तर निर्दिष्ट करना केवल उस मॉड्यूल के लिए स्तर निर्धारित करेगा। मॉड्यूल विनिर्देश फ़ाइल नाम, मॉड्यूल पहचानकर्ता या मॉड्यूल पहचानकर्ता का उपयोग करना संभव है, मॉड्यूल विनिर्देशन के रूप में छोड़े गए _module के साथ मॉड्यूल पहचानकर्ता। इसका मतलब है कि निम्नलिखित तीन विनिर्देशन बराबर हैं:

LogLevel info ssl:warn
LogLevel info mod_ssl.c:warn
LogLevel info ssl_module:warn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.