সম্পূর্ণ ইউআরএল লগ করতে অ্যাপাচি কাস্টমলগ


16

CustomLogঅনুরোধ করা পূর্ণ URL (বা কমপক্ষে URL এর হোস্ট অংশ) লগ করার জন্য আমি আমার অ্যাপাচি কনফিগারেশনে একটি নির্দেশ যুক্ত করতে চাই । অ্যাপাচের একই উদাহরণে আমার বেশ কয়েকটি ডোমেন পরিচালনা করা হচ্ছে এবং লগগুলিতে ডোমেনগুলি পৃথক করতে সক্ষম হতে চাই (যেমনটি আমি এখন দেখি সমস্তই "জিইটি /")। আমি লগফোর্ডে ডকুমেন্টেশনে দেখি %Uএটি URL এর পাথ অংশটি মুদ্রণের জন্য তালিকাবদ্ধ করে তবে আমি হোস্টটির সন্ধান করছি।

উত্তর:


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}iএমনকি HTTP / 1.0 এর জন্যও কাজ করবে ? %Vঠিক প্রথম নজরে তাকান, ধন্যবাদ!
jrdioko

আমি বিশ্বাস করি যে% {হোস্ট} i (বা যে কোনও% {...} আমি তৈরি করি) কেবল তখনই ফলাফল তৈরি করতে পারে যদি সেই শিরোনামটি অনুরোধটিতে আসলে উপস্থিত থাকে। সুতরাং HTTP / 1.0 এর জন্য, আমি এটি কার্যকর হবে আশা করি না।
23:51

আরও একটি স্পেসিফিকেশন: তাই অক্ষম থাকলে তা %Vকি অভিন্ন হবে ? %{Host}iUseCanonicalName
jrdioko

1
ডকুমেন্টেশন অনুসারে, "UseCanonicalName এর সাথে অ্যাপাচি ক্লায়েন্টের সরবরাহকৃত হোস্ট নেম এবং পোর্ট ব্যবহার করে স্ব-রেফারেন্সিয়াল ইউআরএল তৈরি করবে (অন্যথায় এটি উপরে বর্ণিত হিসাবে ক্যানোনিকাল নামটি ব্যবহার করবে)"। শিরোনাম না থাকলে তাই %Vব্যবহার করবে । ServerNameHost
23:44

2

'% v' হ'ল সার্ভারনামটি আপনি যা চান তা হতে পারে?


দেখে মনে হচ্ছে %vসর্বদা একই পরিস্থিতিতে আমার পরিস্থিতিতে একই স্ট্রিংটি ফিরে আসে: ইউআরএল-এ ডোমেনটি প্রদর্শিত হয় তা নির্বিশেষে সার্ভারনাম মান। তবে %Vদেখে মনে হচ্ছে এটি সঠিক কাজ করে।
jrdioko

এটি ভার্চুয়ালহোস্ট নামের সাথে সম্পর্কিত
রবার্ট

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সর্বদা একই পরিস্থিতিতে আমার পরিস্থিতিতে একই স্ট্রিংটি ফিরে আসে: ইউআরএল-এ ডোমেনটি প্রদর্শিত হয় তা নির্বিশেষে সার্ভারনাম মান। তবে %Vদেখে মনে হচ্ছে এটি সঠিক কাজ করে।
jrdioko

2

লগফর্ম্যাট "% h% l% u% t \"% r \ "%> s% বি%"% {রেফারার} i \ "\"% {ব্যবহারকারী-এজেন্ট} i \ "% {হোস্ট} i% ইউ% কিউ "সম্মিলিত

%{Host}i%U%qসম্পূর্ণ ইউআরএল দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.