Apache: “LogLevel hata ayıklamasını” yalnızca belirli modüller için yapılandırılsın mı?


13

Özellikle mod_authnz_ldap ve diğer mod_auth * modülleriyle, web sunucumdaki bazı kimlik doğrulama ve yetkilendirme sorunlarını ayıklamak istiyorum.

Bu yüzden LogLevel debugglobal olarak veya tek bir VirtualHost için Apache konfigürasyonunda ayarladım . Bu bana mod_authnz_ldap ile ilgili faydalı bilgiler sağlar, ancak aynı zamanda SSL modüllerinden bir ton gürültü çıkarır. Örnek için aşağıya bakın.

Mod_authnz_ldap için loglevel'i korurken, ssl_engine * için LogLevel değerini azaltmanın bir yolu var mı?

Evet, satırları benzer bir şey kullanarak hariç tutabilirim grep -v ssl_engine logfile, ancak bu ekstra verileri diğer bazı sistem günlüğü ayrıştırma araçlarından da hariç tutmak istiyorum. Günlüğe kaydetme işlemini hedefte hariç tutmak yerine kaynaktan azaltmayı tercih ederim.

[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|

Yanıtlar:


16

Kendi sorumu cevaplıyorum, Jeopardy Style.

Apache 2.3

Bu Apache 2.3'te mümkündür.

Apache> HTTP Sunucusu> Belgeler> Sürüm 2.4> Modül başına günlük kaydı :

Modül başına günlük kaydı

LogLevel yönergesi her modül için günlük önem derecesi belirlemenize olanak tanır. Bu şekilde, yalnızca belirli bir modülle ilgili bir sorunu gideriyorsanız, ilgilenmediğiniz diğer modüllerin ayrıntılarını da almadan günlük kayıt hacmini yükseltebilirsiniz. Bu özellikle mod_proxy veya mod_rewrite gibi modüller için yararlıdır burada ne yapmaya çalıştığıyla ilgili ayrıntıları öğrenmek istersiniz.

Bunu, LogLevel yönergenizdeki modülün adını belirterek yapın:

LogLevel info rewrite:trace5

Bu, ana LogLevel öğesini bilgi olarak ayarlar, ancak mod_rewrite için trace5 değerine getirir.

Bu, sunucunun önceki sürümlerinde bulunan RewriteLog gibi modül başına günlük yönergelerinin yerini alır.

Apache HTTP Sunucusu 2.4'teki yeni özelliklere genel bakış şunları söylüyor:

Modül başına ve dizin başına LogLevel yapılandırması LogLevel artık modül başına ve dizin başına yapılandırılabilir. Hata ayıklama günlüğü düzeyinin üzerine yeni trace1 - trace8 düzeyleri eklendi.

Ayrıca Apache-dev posta listesindeki tartışmaya bakın .

Apache 2.2 ve Daha Önce:

Hayır, bu şu anda Apache 2.2'de mümkün değildir. HTTP Sunucusu> Belgeler> Sürüm 2.2> Modüller "LogLevel Yönergesi" 'ndeki kılavuz bu seçeneği göstermez. Şu anda tek seçenek rahatsız edici satırları "grep -v" dir.

Apache 2.4 (yazma sırasında önerilir):

Bu, Apache 2.4'e eklenecektir. Bagajdaki Apache belgeleri (2.3) şu anda şunları söylüyor:

Uyumluluk: Modül ve dizin başına yapılandırma Apache HTTP Sunucusu 2.3.6 ve sonrasında kullanılabilir

Ve:

Modül adı olmayan bir seviye belirtildiğinde, tüm modüller için seviye o seviyeye sıfırlanır. Modül adıyla bir seviye belirtilmesi, yalnızca o modülün seviyesini ayarlayacaktır. Modül kaynak dosya adını, modül tanımlayıcıyı veya modül tanımlayıcıyı modül belirtimi olarak atlanmış _modülü ile kullanmak mümkündür. Bu, aşağıdaki üç spesifikasyonun eşdeğer olduğu anlamına gelir:

LogLevel info ssl:warn
LogLevel info mod_ssl.c:warn
LogLevel info ssl_module:warn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.