ตำแหน่งไฟล์บันทึก IISExpress


109

IISExpress เขียนบันทึกและข้อมูลการกำหนดค่าไปยังตำแหน่งที่กำหนดไว้ล่วงหน้านอกกรอบ

ไดเร็กทอรีคือไดเร็กทอรี "IISExpress" ที่เก็บไว้ในไดเร็กทอรี Documents ของผู้ใช้

ในไดเร็กทอรีจะเก็บไฟล์โฟลเดอร์ต่อไปนี้ไว้ด้านล่าง

  • Config
  • บันทึก
  • TraceLogFiles

ตำแหน่งของโฮมไดเร็กทอรีของฉันอยู่บนเครือข่ายที่ใช้ร่วมกันซึ่งกำหนดโดยนโยบายกลุ่ม

ขณะนี้เรากำลังพบกับสถานการณ์ที่ Visual Studio ล็อคเมื่อหยุดการดีบักแอปพลิเคชัน Silverlight โดยใช้ IIS Express

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


บันทึกที่ฉันกำลังมองหาใน Windows 10 อยู่ที่นี่: C: \ WINDOWS \ temp \ PHP71ForIISExpress_errors.log
Rob Sedgwick

คำตอบ:


136

1. โดยดีฟอลต์ไฟล์ applicationhost.config กำหนดตำแหน่งล็อกไฟล์สองตำแหน่งต่อไปนี้ ที่นี่ IIS_USER_HOME จะขยายเป็น%userprofile%\documents\IISExpress\ไฟล์.

<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" />
</siteDefaults>

คุณสามารถอัปเดตพา ธ ไดเร็กทอรีด้านบนเพื่อเปลี่ยนตำแหน่งล็อกไฟล์

2. หากคุณกำลังเรียกใช้ IIS Express จากบรรทัดคำสั่งคุณสามารถใช้สวิตช์ '/ config' เพื่อจัดเตรียมไฟล์คอนฟิกูเรชันที่คุณเลือก ลิงค์ต่อไปนี้อาจช่วยคุณได้http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/


14
หากคุณใช้งาน IIS Express จาก Visual Studio ไฟล์. config จะถูกโหลดจาก$(solutionDir)\.vs\config\applicationhost.config(อ้างอิงจากคำตอบนี้)
sonyisda1

3
VS2019 ได้เปลี่ยนสิ่งนี้และค่าเริ่มต้นเป็นปิดใช้งานในไฟล์. vs \ <app> \ config \ applicationhost.config ขณะนี้เส้นทางคือ% AppData% \ Microsoft \ IISExpressLogs "สำหรับบันทึก w3c และ"% AppData% \ Microsoft "สำหรับ tracelogs
Praveen Nayak

21

http://www.iis.net/configreference/system.applicationhost/sites/sitedefaults

<configuration>
    <system.applicationHost>
       <sites>
          <siteDefaults>
             <logFile 
                logFormat="W3C"
                directory="%SystemDrive%\inetpub\logs\LogFiles"
                enabled="true" 
                />
             <traceFailedRequestsLogging 
                enabled="true"
                directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles"
                maxLogFiles="20" 
                />
             <limits connectionTimeout="00:01:00" />
             <ftpServer serverAutoStart="true" />
             <bindings>
                <binding 
                    protocol="http" 
                    bindingInformation="127.0.0.1:8080:" 
                    />
             </bindings>
          </siteDefaults>
       </sites>
    </system.applicationHost>
</configuration>

ฉันพบว่าเอกสาร web.config ยุ่งเหยิง ดังนั้นจึงเป็นการดีกว่าที่จะให้ประวัติผู้ปกครองที่สมบูรณ์มากกว่าตัวอย่างข้อมูลแบบลอยด้วยความคาดหวังว่าผู้อ่านจะรู้ว่ามันไปที่ใด


2
ใช่ +1 เพื่อให้ประวัติผู้ปกครองที่สมบูรณ์ มิฉะนั้นจะต้องปรึกษาเอกสารที่เกี่ยวข้องเพิ่มเติม ขอบคุณจอร์จ!
Manfred

12

โดยค่าเริ่มต้นจะอยู่ใน:

C: \ Users \ user_name \ Documents \ IISExpress \ Logs \


แต่ถ้าคนอื่นเปลี่ยนค่าเริ่มต้นล่ะ? ฉันจะเปลี่ยนกลับได้อย่างไร?
Fandango68

4
@ Fandango68 นั่นเป็นคำถามใหม่ไม่ใช่ความคิดเห็น

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