Có thể tạo Nhật ký lỗi tùy chỉnh trong Apache 2.2 không?


11

Tôi muốn thêm tên vhost vào ErrorLog của tôi và sau đó chuyển nó thành một chương trình tôi đã viết.

Có thể viết định dạng nhật ký Lỗi tùy chỉnh như với Nhật ký truy cập không?


Tùy thuộc vào thiết lập của bạn, bạn có thể có ErrorLog cho mỗi máy chủ ảo của mình. Nó không giống như một logfile có thể phân tích cú pháp thống nhất, nhưng nó là một cái gì đó.
muffinista

Câu trả lời:


7

Đối với đường ống, hãy xem các mục hướng dẫn chính thức của ErrorLogPiped Logs giải thích nó khá tốt.

Lấy một định dạng nhật ký lỗi tùy chỉnh là khó khăn hơn. Bạn có thể dễ dàng tùy chỉnh nhật ký truy cập LogFormatnhưng không có gì được tích hợp để sửa đổi định dạng nhật ký lỗi. Tôi đã bắt gặp CGI :: Carp là mô-đun Perl để xuất ra nhật ký lỗi. Cuối cùng, luôn luôn sửa đổi mã nguồn Apache trực tiếp tùy thuộc vào mức độ bạn muốn tính năng này.



6

Với Apache 2.4, bạn có thể sử dụng lệnh ErrorLogFormatnày.

Cú pháp: ErrorLogFormat [connection|request] format

Ví dụ đơn giản

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

Ví dụ (định dạng mặc định cho MPM luồng)

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

Ví dụ (tương tự định dạng 2.2.x)

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

Ví dụ nâng cao với ID nhật ký yêu cầu / kết nối

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"

Nguồn: ErrorLogFormat Chỉ thị


Bất cứ ai có thể đoán tại sao %asẽ xuất hiện trống? Nó được coi là địa chỉ IP của khách hàng. Tôi đã đăng một câu hỏi về điều đó.
Bob Stein

1

Có lẽ bạn đang tìm kiếm mod_log_debug .


Trong khi bạn đúng, tốt hơn là bao gồm các phần thiết yếu của câu trả lời tại liên kết ở đây, trong trường hợp liên kết bị chết hoặc bị di chuyển.
HoplessN00b
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.