Apakah mungkin membuat Custom Error Log di Apache 2.2?

11

Saya ingin menambahkan nama vhost di ErrorLog saya dan kemudian memasukkannya ke program yang saya tulis.

Apakah mungkin untuk menulis format log Galat Ubahsuaian seperti halnya dengan log Akses?

JohnT
sumber
Bergantung pada pengaturan Anda, Anda dapat memiliki ErrorLog untuk setiap host virtual Anda. Ini tidak sama dengan logfile parsable yang disatukan, tapi itu sesuatu.
muffinista

Jawaban:

7

Untuk perpipaan lihat entri manual resmi ErrorLog directive dan Piped Log yang menjelaskan dengan cukup baik.

Mendapatkan format log kesalahan khusus lebih sulit. Anda dapat menyesuaikan log akses dengan mudah LogFormattetapi tidak ada bawaan untuk memodifikasi format log kesalahan. Saya memang menemukan CGI :: Carp yang merupakan modul Perl untuk keluaran ke log kesalahan. Akhirnya, selalu ada memodifikasi kode sumber Apache secara langsung tergantung pada seberapa buruk Anda menginginkan fitur ini.

uesp
sumber
6

Dengan Apache 2.4 Anda dapat menggunakan ErrorLogFormatarahan.

Sintaksis: ErrorLogFormat [connection|request] format

Contoh sederhana

ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"

Contoh (format default untuk MPM berulir)

ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

Contoh (mirip dengan format 2.2.x)

ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"

Contoh lanjutan dengan ID log permintaan / koneksi

ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"

Sumber: Petunjuk ErrorLogFormat

batal
sumber
Adakah yang bisa menebak mengapa %aakan muncul kosong? Seharusnya alamat IP klien. Saya memposting pertanyaan tentang itu.
Bob Stein
1

Anda mungkin mencari mod_log_debug .

Piotr Kieszczyński
sumber
Meskipun Anda benar, akan lebih baik untuk memasukkan bagian-bagian penting dari jawaban di tautan di sini, jika tautannya mati atau dipindahkan.
HopelessN00b