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ô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?
Câu trả lời:
Đối với đường ống, hãy xem các mục hướng dẫn chính thức của ErrorLog và Piped 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 LogFormat
như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.
Trong Apache 2.2, bạn không thể thay đổi định dạng của error_log một cách dễ dàng - xem http://httpd.apache.org/docs/2.2/logs.html#errorlog .
Apache 2.4 bổ sung hỗ trợ này. Xem http://httpd.apache.org/docs/2.4/logs.html#errorlog .
Với Apache 2.4, bạn có thể sử dụng lệnh ErrorLogFormat
nà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ị
%a
sẽ 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 đó.
Có lẽ bạn đang tìm kiếm mod_log_debug .