Apache'de günlük hata ve erişim günlükleri nasıl alınır (Windows için)?


10

Bir sunucuda yapılandırılmış birkaç sanal ana bilgisayarla Apache 2.2.9 (Win32) çalıştırıyoruz. Her birinin kendi "Günlük / [etki alanı adı] -error.log" ve "günlük / [etki alanı adı] -access.log" biçimindeki ErrorLog ve CustomLog ayarları vardır. Ne yazık ki bunlar artık oldukça büyük dosyalar oluşturuyor.

IIS'de günlük programını "yymmdd.log" biçiminde koyabilecek günlük zamanlamasını belirleyebilirsiniz. Burada yapabileceğim benzer bir şey var mı?

Günlük olması gerekmiyor, haftalık veya aylık olacak. Onları ayırmak istiyorum, böylece günlüğe kaydedilen her şey yerine X miktarını tutabiliriz. Hızlı bir Google, bir Windows yüklemesi için çok yararlı olmayan günlük ayırıcıları, komut dosyaları ve cron işlerini içeren birçok Linux odaklı cevap getiriyor gibi görünüyor.

Güncelleme

Yarıçap sayesinde, httpd-vhosts.conf dosyamı Apache'nin yerleşik rotatelogs komutunu kullanmak için aşağıdaki biçimde değiştirdim:

ErrorLog "|bin/rotatelogs logs/[domain name]-error.%Y-%m-%d-%H_%M_%S.log 5M" CustomLog "|bin/rotatelogs logs/[domain name]-access.%Y-%m-%d-%H_%M_%S.log 5M" common

Mevcut dosya 5MB'a ulaştığında yeni bir günlük dosyası oluştururlar. Bunun günlük olarak istendiği gibi olmadığını biliyorum, ama bu onları yönetilebilir bir boyutta tutar. Birçok saniye sonra döndürmeyi denedim ama doğru zaman dosya adı (özellikle saat, dakika ve saniye) zaman damgası koymak gibi görünmüyordu.

Yanıtlar:


11

Aradığınız şey, apache http://httpd.apache.org/docs/2.2/programs/rotatelogs.html ile birlikte gelen rotatelogs programıdır.

Örneğin, günlüklerinizi gece yarısı her gün döndürmek için:

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common

+1, Apache'nin kendine özgü bir çözümü olduğunu bilmiyordu.
Karolis T.

Ubuntu kullanan herkes için /usr/bin/rotatelogs, bulunduğu rotatelogsyer olan yolu değiştirmeniz gerekebilir . Aksi takdirde Apache bir hata nedeniyle yeniden başlatılamaz.
BadHorsie



0

İle doğrudan deneyin

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined

2
Lütfen bunun ne yaptığına dair bir açıklama ekleyin.
kasperd
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.