Bagaimana cara membuat kesalahan harian dan mengakses log di Apache (untuk Windows)?

10

Kami menjalankan Apache 2.2.9 (Win32) dengan beberapa host virtual yang dikonfigurasi pada satu server. Masing-masing memiliki pengaturan ErrorLog dan CustomLog sendiri yang dalam format "log / [nama domain] -error.log" dan "log / [nama domain] -access.log". Sayangnya ini sekarang membuat file yang cukup besar.

Pada IIS Anda dapat menentukan jadwal log, yang dapat menempatkannya dalam format harian "yymmdd.log". Adakah hal serupa yang bisa saya lakukan di sini?

Tidak harus harian, baik mingguan atau bulanan akan dilakukan. Saya hanya ingin memecahnya sehingga kami dapat menyimpan jumlah X alih-alih semua yang pernah dicatat. Google yang cepat sepertinya memunculkan banyak jawaban berorientasi Linux yang melibatkan pembagi log, skrip dan tugas cron yang tidak terlalu membantu untuk instalasi Windows.

Memperbarui

Berkat radius, saya mengubah httpd-vhosts.conf untuk menggunakan perintah built in rotatelogs Apache , dalam format berikut:

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

Mereka akan membuat file log baru ketika yang sekarang mencapai 5MB. Saya tahu itu tidak setiap hari seperti yang diminta, tetapi itu membuat mereka pada ukuran yang dapat dikelola yang akan dilakukan. Saya memang mencoba memutar setelah sekian detik tetapi sepertinya tidak menempatkan cap waktu pada nama file dengan benar (khususnya jam, menit dan detik).

Pauk
sumber

Jawaban:

11

Apa yang Anda cari adalah program rotatelogs yang datang dengan apache http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

Misalnya, untuk memutar log Anda setiap hari di tengah malam:

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common
radius
sumber
+1, tidak tahu Apache punya solusi sendiri.
Karolis T.
Untuk siapa pun yang menggunakan Ubuntu, Anda mungkin perlu mengubah jalur ke /usr/bin/rotatelogs, karena di situlah rotatelogsditemukan. Kalau tidak, Apache akan gagal memulai ulang karena kesalahan.
BadHorsie
0

Apa yang Anda inginkan disebut rotasi log.

Google tampaknya mencantumkan beberapa tautan yang jelas tentang alat rotasi log untuk windows.

Ini sepertinya solusi spesifik Apache, mungkin itu akan membantu Anda:

http://www.sprint.net.au/~terbut/usefulbox/apachelogrot.htm

Karolis T.
sumber
0

Coba langsung dengan

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined
Zaalouni Mohamed
sumber
2
Silakan tambahkan penjelasan tentang apa yang dilakukannya.
kasperd