पूर्ण URL लॉग करने के लिए Apache CustomLog


16

मैं CustomLogअपने अपाचे विन्यास में एक निर्देश जोड़ना चाहूंगा कि पूर्ण URL (या कम से कम URL के मेजबान भाग) को लॉग इन करें। मेरे पास कई डोमेन हैं जिन्हें अपाचे के एक ही उदाहरण द्वारा नियंत्रित किया जा रहा है, और लॉग में डोमेन को भेद करने में सक्षम होना चाहते हैं (जैसा कि अब मैं देख रहा हूं "GET /")। मैं LogFormat पर प्रलेखन में देखता हूं यह %UURL के पथ भाग को मुद्रित करने के लिए सूचीबद्ध करता है, लेकिन मैं मेजबान की तलाश कर रहा हूं।

जवाबों:


20

LogFormatदस्तावेज़ीकरण पढ़ते रहें और आप पाएंगे:

%...{Foobar}i:  The contents of Foobar: header line(s) in the request
                sent to the server.

जिसका अर्थ है कि आप अपने कॉन्फ़िगरेशन में शामिल कर सकते हैं:

%{Host}i

%vऔर %Vनिर्देशों भी आप क्या चाहते हैं आप मिल सकता है।

% v हमेशा ServerNameआपके वर्चुअल होस्ट का "कैनोनिकल नाम" का मान होगा । का मान %V हो सकता है ServerName, या यह HTTP Hostहेडर का मान हो सकता है, यह इस बात पर निर्भर करता है कि आपने UseCanonicalNameअपने कॉन्फ़िगरेशन में सक्षम किया है या नहीं (और क्लाइंट ने Hostहेडर की आपूर्ति की है या नहीं )।


%{Host}iHTTP / 1.0 के लिए भी काम करेंगे ? %Vपहली नज़र में सही लगता है, धन्यवाद!
जड़ोको

मेरा मानना ​​है कि% {होस्ट} i (या कोई भी% {...} i) निर्माण तभी परिणाम देगा जब कि हेडर वास्तव में अनुरोध में मौजूद हो। इसलिए HTTP / 1.0 के लिए, मैं इसके उपयोगी होने की उम्मीद नहीं करूंगा।
लार्क्स

एक और स्पष्टीकरण: अगर विकलांग है तो %Vक्या यह समान होगा ? %{Host}iUseCanonicalName
जरीदीको

1
प्रलेखन के अनुसार, "अपाचे के साथ UseCanonicalName ऑफ करने के बाद Apache होस्टनाम और पोर्ट का उपयोग करके क्लाइंट द्वारा सप्लाई किया जाएगा यदि कोई भी आपूर्ति की जाती है (अन्यथा यह विहित नाम का उपयोग करेगा, जैसा कि ऊपर बताया गया है)।" अगर कोई हेडर नहीं है तो %Vइसका इस्तेमाल करेंगे । ServerNameHost
लार्क्स

2

'% v' वह सर्वरनाम है जो आप चाहते हैं?


ऐसा लगता है कि %vमेरी स्थिति में हमेशा एक ही स्ट्रिंग मिलती है: URL में डोमेन चाहे जो भी हो, ServerName मान। लेकिन %Vऐसा लगता है कि यह सही काम करता है।
जड़ोको

यह वर्चुअलहोस्ट नाम से संबंधित है
रॉबर्ट

2

%vअपने लॉग प्रारूप में जोड़ें ।

कुछ इस तरह:

LogFormat "%v - %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined-vhost
CustomLog /log/file/location combined-vhost

1
ऐसा लगता है कि %vमेरी स्थिति में हमेशा एक ही स्ट्रिंग मिलती है: URL में डोमेन चाहे जो भी हो, ServerName मान। लेकिन %Vऐसा लगता है कि यह सही काम करता है।
जड़ोको

2

LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-Agent} i \ "% {Host} i% U% q ”संयुक्त

%{Host}i%U%qपूर्ण url देता है।

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