เป็นไปได้หรือไม่ที่จะสร้าง Custom Error Log ใน Apache 2.2?


11

ฉันต้องการเพิ่มชื่อ vhost ใน ErrorLog ของฉันแล้วส่งไปยังโปรแกรมที่ฉันเขียน

เป็นไปได้หรือไม่ที่จะเขียนรูปแบบบันทึกข้อผิดพลาดที่กำหนดเองตามที่มีในบันทึกการเข้าถึง


คุณสามารถมี ErrorLog สำหรับโฮสต์เสมือนของคุณได้ทั้งนี้ขึ้นอยู่กับการตั้งค่าของคุณ มันไม่เหมือนกับไฟล์บันทึกคำแบบแยกวิเคราะห์แบบรวม แต่เป็นบางอย่าง
muffinista

คำตอบ:


7

สำหรับการวางท่อให้ดูรายการคู่มืออย่างเป็นทางการของErrorLog Directive และPiped Logsซึ่งอธิบายได้ค่อนข้างดี

การรับรูปแบบบันทึกข้อผิดพลาดที่กำหนดเองนั้นยากขึ้น คุณสามารถปรับแต่งล็อกการเข้าถึงได้อย่างง่ายดายด้วยLogFormatแต่ไม่มีอะไรในตัวสำหรับการแก้ไขรูปแบบบันทึกข้อผิดพลาด ฉันเจอCGI :: Carpซึ่งเป็นโมดูล Perl สำหรับแสดงผลบันทึกข้อผิดพลาด ท้ายที่สุดมีการแก้ไขซอร์สโค้ด Apache โดยตรงเสมอโดยขึ้นอยู่กับว่าคุณต้องการคุณลักษณะนี้มากเพียงใด


7

ใน Apache 2.2 คุณไม่สามารถเปลี่ยนรูปแบบของ error_log ได้อย่างง่ายดาย - ดูhttp://httpd.apache.org/docs/2.2/logs.html#errorlog

Apache 2.4 เพิ่มการสนับสนุนนี้ ดูhttp://httpd.apache.org/docs/2.4/logs.html#errorlog


6

ด้วย Apache 2.4 คุณสามารถใช้ErrorLogFormatคำสั่ง

ไวยากรณ์: ErrorLogFormat [connection|request] format

ตัวอย่างง่ายๆ

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

ตัวอย่าง (รูปแบบเริ่มต้นสำหรับ MPM เธรด)

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

ตัวอย่าง (คล้ายกับรูปแบบ 2.2.x)

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

ตัวอย่างขั้นสูงที่มี ID บันทึกคำขอ / การเชื่อมต่อ

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"

ที่มา: ErrorLogFormat Directive


ทุกคนสามารถเดาได้ว่าทำไม%aจะปรากฏที่ว่างเปล่า มันควรจะเป็นที่อยู่ IP ของลูกค้า ฉันโพสต์คำถามเกี่ยวกับเรื่องนั้น
Bob Stein

1

คุณอาจจะมองหาmod_log_debug


ในขณะที่คุณถูกต้องคุณควรรวมส่วนสำคัญของคำตอบไว้ที่ลิงค์ในกรณีนี้ลิงก์จะตายหรือถูกย้าย
HopelessN00b
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.