ฉันจะหาบันทึก IIS ได้ที่ไหน


325

ฉันกำลังพยายามตั้งค่าแอปพลิเคชันจากบุคคลที่สามซึ่งต้องการเว็บไซต์สนับสนุนที่โฮสต์ใน IIS ท้องถิ่นของฉัน ฉันได้สร้างเว็บไซต์ตรงตามที่อธิบายไว้ในคู่มือการติดตั้งของพวกเขา แต่ฉันมีปัญหาบางอย่างและต้องการที่จะดูว่าบันทึก IIS จะพูดอย่างไร น่าอายพอปัญหาคือฉันไม่สามารถหาไฟล์บันทึกได้!

ดังนั้นคำถามของฉันคือ IIS7 จัดเก็บบันทึกโดยค่าเริ่มต้นที่ไหน

คำตอบ:


496

ฉันคิดว่าสถานที่เริ่มต้นสำหรับบันทึกการเข้าถึงคือ

%SystemDrive%\inetpub\logs\LogFiles

มิฉะนั้นตรวจสอบภายใต้ตัวจัดการ IIS เลือกคอมพิวเตอร์ในบานหน้าต่างด้านซ้ายและในบานหน้าต่างตรงกลางไปภายใต้ "การบันทึก" ในพื้นที่ IIS ที่นั่นคุณจะเห็นตำแหน่งเริ่มต้นสำหรับทุกไซต์ (ซึ่งสามารถ overridable ได้ในทุกไซต์)

คุณสามารถมองเข้าไปใน

%SystemDrive%\Windows\System32\LogFiles\HTTPERR

ซึ่งจะมีไฟล์บันทึกที่คล้ายกันซึ่งแสดงถึงข้อผิดพลาดเท่านั้น


1
ขอบคุณดูเหมือนจะมีเหตุผล แต่ไดเรกทอรีบันทึกว่างเปล่า ฉันอาจต้องเปิดการบันทึกอย่างใด แต่ฉันไม่สามารถหาอะไรเกี่ยวกับการบันทึกในแผงกลางใน IIS Manager
Kjartan

66
หากคุณไม่พบมันก็ไม่ได้ติดตั้ง คุณต้องลุกขึ้นPrograms and Featuresแล้วคลิกTurn Windows features on or offที่ด้านซ้ายแล้วเลือกInternet Information Services\World Wide Web Services\Health and Diagnostics\HTTP Logging
jishi

1
ยอดเยี่ยม ตอนนี้ฉันมีบันทึกอย่างน้อย น่าเสียดายที่พวกเขาไม่ได้ให้คำตอบที่ฉันหวังไว้ แต่อย่างน้อยฉันก็ได้เรียนรู้อะไรบางอย่าง ขอบคุณอีกครั้ง!
Kjartan

3
ฉันเชื่อว่าเส้นทางหลัง (... \ HTTPERR) เป็นสถานที่ที่ไฟล์บันทึกที่สร้างโดย http.sys มาถึงโดยค่าเริ่มต้นไม่ใช่ไฟล์บันทึกจาก IIS เอง โปรดดู: technet.microsoft.com/en-us/library/cc784703%28v=ws.10%29.aspx
Jon Schneider

3
บันทึกนี้ไม่มีประโยชน์หากคุณกำลังมองหาข้อความแสดงข้อผิดพลาด
Vasil Valchev

96

ฉันเชื่อว่านี่เป็นวิธีที่ง่ายกว่าในการรู้ว่า IIS ของคุณอยู่ที่ไหนอยู่ที่ไหนไม่ใช่แค่สมมติตำแหน่งเริ่มต้น:

ไปที่ไซต์ IIS ของคุณเช่นค่าเริ่มต้นคลิกที่มันและคุณจะเห็น "การบันทึก" ทางด้านขวาหากเปิดใช้งานการบันทึก:

ป้อนคำอธิบายรูปภาพที่นี่

เปิดแล้วคุณจะเห็นโฟลเดอร์ที่นั่น:

ป้อนคำอธิบายรูปภาพที่นี่

ยินดี!


5
ใน IIS10 คุณลักษณะ 'การบันทึกข้อมูล' นั้นจะต้องWorld Wide Web Services -> Health and Diagnostics -> HTTP Loggingติดตั้งคุณลักษณะ windows อย่างน้อยที่สุด มิฉะนั้นจะไม่ปรากฏขึ้น
Pasi Savolainen

จะเกิดอะไรขึ้นหากไอคอนการบันทึกไม่ปรากฏขึ้น ฉันไม่พบไฟล์บันทึกในเครื่อง - ไม่มีเส้นทางที่ปรากฏบนเครื่องของฉัน
Andy

80

ฉันกำลังเพิ่มคำตอบนี้เพราะหลังจากค้นคว้าเว็บฉันลงเอยด้วยคำตอบนี้ แต่ก็ยังไม่รู้ว่าโฟลเดอร์ย่อยใดของโฟลเดอร์บันทึก IIS เพื่อดู

หากเซิร์ฟเวอร์ของคุณมีหลายเว็บไซต์คุณจะต้องรู้ IIS ID สำหรับเว็บไซต์ วิธีที่ง่ายที่สุดในการรับสิ่งนี้ใน IIS คือเพียงคลิกที่โฟลเดอร์Sitesในแผงด้านซ้าย ID สำหรับแต่ละไซต์จะแสดงในแผงด้านขวา

เมื่อคุณทราบ ID แล้วให้เรียกมันว่าnบันทึกที่เกี่ยวข้องอยู่ในโฟลเดอร์ย่อยW3SVC nของโฟลเดอร์ IIS บันทึก ดังนั้นหากรหัสเว็บไซต์ของคุณคือ 4 พูดและบันทึก IIS อยู่ในตำแหน่งเริ่มต้นบันทึกจะอยู่ในโฟลเดอร์นี้:

%SystemDrive%\inetpub\logs\LogFiles\W3SVC4

Acknowlegements:

  • คำตอบโดย @jishi บอกว่าบันทึกเริ่มต้นที่ไหน
  • คำตอบโดย @Rafid อธิบายวิธีการค้นหาตำแหน่งจริง (อาจไม่ใช่ค่าเริ่มต้น)
  • Answer by @Bergius ให้วิธีการเขียนโปรแกรมในการค้นหาตำแหน่งโฟลเดอร์บันทึกสำหรับเว็บไซต์เฉพาะโดยคำนึงถึง ID โดยไม่ต้องใช้ IIS

8
เป็นสิ่งสำคัญมากที่คุณต้องทราบเกี่ยวกับ ID เว็บไซต์ใน IIS เพื่อดูไฟล์บันทึกที่ถูกต้อง
Moises Quintero Orea

3
ฉันพบ ID โดยคลิกที่การตั้งค่าขั้นสูงในแผงการดำเนินการหลังจากเลือกไซต์ในแผงการเชื่อมต่อ
สแตก

15

คำตอบที่ถูกต้อง 100% สำหรับตำแหน่งเริ่มต้นของไฟล์บันทึกคือ ...

%SystemDrive%\inetpub\logs\LogFiles

ใช่คุณสามารถป้อนสิ่งนี้ลงในแถบที่อยู่ของ explorer ได้

เพื่อความแน่ใจ 100% คุณต้องดูการบันทึกสำหรับเว็บไซต์ใน IIS

https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-85/enhanced-logging-for-iis85

กล่าวคือ

  1. เปิดตัวจัดการ IIS
  2. เลือกไซต์หรือเซิร์ฟเวอร์ในบานหน้าต่างการเชื่อมต่อ
  3. คลิกสองครั้งที่การเข้าสู่ระบบ
  4. ตำแหน่งของไฟล์บันทึกสำหรับไซต์สามารถพบได้ในฟิลด์ Directory

แก้ไข:ตามที่ Andy ชี้ให้เห็นในความคิดเห็นด้านล่างคุณต้องแน่ใจว่าเมื่อติดตั้ง IIS ที่คุณเลือกที่จะเปิดใช้งานการบันทึก HTTP มิฉะนั้นการบันทึก HTTP จะไม่สามารถใช้ได้

เปิดใช้งานการบันทึก HTTP


นี่ไม่ใช่คำตอบ 100% ... ฉันไม่มีไดเรกทอรีที่เส้นทางนั้นและยังมี IIS 7.5 ฉันไม่พบไฟล์บันทึกของฉันที่เส้นทางเหล่านี้ที่ผู้คนพูดว่ามีอยู่จริง
Andy

2
@Andy คุณอ่านครึ่งหลังของคำตอบและตรวจสอบการกำหนดค่าของเว็บไซต์ใน IIS หรือไม่?
มิค

2
ฉันไม่มีโมดูล "HTTP Logging" ที่จำเป็นใน "โปรแกรมและคุณสมบัติ"> "เปิดหรือปิดคุณสมบัติ Windows" พบความคิดเห็นด้านบนเกี่ยวกับสิ่งนี้และสร้างไดเรกทอรี LogFiles ขอบคุณสำหรับการติดตาม
Andy

10

วิธีที่ง่ายกว่าในการทำเช่นนี้คือการใช้ PowerShell เช่น:

Get-Website yoursite | % { Join-Path ($_.logFile.Directory -replace '%SystemDrive%', $env:SystemDrive) "W3SVC$($_.id)" }

หรือเพียงแค่

Get-Website yoursite | % { $_.logFile.Directory, $_.id }

หากคุณต้องการข้อมูลสำหรับตัวคุณเองและไม่ต้องแยกวิเคราะห์ผลลัพธ์ในสมองของคุณ :)

สำหรับคะแนนโบนัสให้ต่อท้าย| iiคำสั่งแรกเพื่อเปิดใน Explorer หรือ| gciเพื่อแสดงรายการเนื้อหาของโฟลเดอร์


7

ลองบันทึกเหตุการณ์ Windows อาจมีข้อมูลที่เป็นประโยชน์


2
บันทึกเหตุการณ์อาจจะมีข้อผิดพลาดหน้าใด ๆ ที่เกิดขึ้นบนเว็บไซต์
jishi

20
ดูเหมือนจะเป็นความคิดที่ดี แต่มีข้อมูลมากมายที่นี่และฉันไม่สามารถค้นหาสิ่งที่เกี่ยวข้องกับ IIS ได้ ตัวชี้ใดที่เป็นตำแหน่งในตัวแสดงเหตุการณ์ที่จะมองหรือวิธีที่ดีที่สุดในการกรองข้อมูลที่นั่น?
Kjartan

7
-1, เหตุผล: คำตอบนี้กว้างเกินไป โปรดระบุคำอธิบายโดยละเอียดซึ่งสามารถพบข้อมูลบันทึกเหตุการณ์หรือวิธีการกรองได้หรือไม่เช่นนั้นจะได้รับบันทึกจำนวนมากในบันทึกในบันทึกเหตุการณ์ยากเกินไปที่จะค้นหาบันทึกที่เกี่ยวข้อง
lanoxx

พบสาเหตุของปัญหาของฉัน (การเชื่อมต่อปิดเฉพาะไฟล์ * .woff) ในบันทึกของ Windows> ระบบ (ในกรณีของฉันมีการกำหนดค่า SSL ที่ผิด)
the_nuts

3

การเปิดใช้งานการติดตามอาจเป็นทางเลือกที่ดีกว่าในบันทึกเหตุการณ์ของ Windows สิ่งนี้ทำให้ฉันมีข้อมูลที่ฉันต้องการในการแก้ไขบริการเว็บของฉันเอง



0

ฉันพบไฟล์บันทึก IIS ที่ตำแหน่งต่อไปนี้

C: \ inetpub \ Logs \ LogFiles \

ซึ่งช่วยในการแก้ไขปัญหาของฉัน


ฉันเพิ่งระบุเส้นทางเริ่มต้นที่ IIS ล็อกไฟล์อยู่บนเซิร์ฟเวอร์ หากคุณสามารถอ่านคำถาม นี่คือ "ค่าเริ่มต้น IIS7 เก็บบันทึกไว้ที่ไหน" :(
Hiren Parghi

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