IISExpress Günlük Dosyası Konumu


109

IISExpress, günlük ve yapılandırma verilerini kutunun dışında önceden belirlenmiş konuma yazar.

Dizin, bir kullanıcının Belgeler dizininde depolanan bir "IISExpress" dizinidir.

Dizinde, altında aşağıdaki klasörler dosyaları saklanır.

  • Yapılandırma
  • Kütükler
  • TraceLogFiles

Ana dizinimin konumu, grup ilkesi tarafından belirlenen bir ağ paylaşımında

Şu anda, IIS Express kullanarak Silverlight uygulamalarında hata ayıklamayı durdururken görsel stüdyonun kilitlendiği senaryolarla karşılaşıyoruz.

Visual Studio'nun kilitlenmesi sorununu çözüp çözmediğini görmek için IISExpress için günlük ve yapılandırma verilerinin konumunu değiştirmek istiyordum. Günlük ve yapılandırma dosyalarının varsayılan konumunu değiştirmek mümkün müdür?


Windows 10'da aradığım günlük buradaydı: C: ​​\ WINDOWS \ temp \ PHP71ForIISExpress_errors.log
Rob Sedgwick

Yanıtlar:


136

1. Varsayılan olarak applicationhost.config dosyası aşağıdaki iki günlük dosyası konumunu tanımlar. Burada IIS_USER_HOME olarak genişletilecektir %userprofile%\documents\IISExpress\.

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

Günlük dosyası konumlarını değiştirmek için yukarıdaki dizin yollarını güncelleyebilirsiniz.

2. IIS Express'i komut satırından çalıştırıyorsanız, seçtiğiniz yapılandırma dosyasını sağlamak için '/ config' anahtarını kullanabilirsiniz. Aşağıdaki bağlantı size http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/ yardımcı olabilir.


14
IIS Express'i Visual Studio'dan çalıştırıyorsanız, .config dosyası şu $(solutionDir)\.vs\config\applicationhost.config
adresten

3
VS2019 bunu değiştirdi ve .vs \ <app> \ config \ applicationhost.config dosyasında varsayılan olarak devre dışı bırakıldı. Yol artık w3c günlükleri için% AppData% \ Microsoft \ IISExpressLogs "ve traceloglar için"% AppData% \ Microsoft ".
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 belgelerinin dağınık olduğunu görüyorum. Bu nedenle, okuyucunun doğal olarak nereye gittiğini bilmesi beklentisiyle yüzen bir pasajdan daha eksiksiz bir ebeveyn geçmişi sağlamak daha iyidir.


2
Evet, tam ebeveyn geçmişini sağlamak için +1. Aksi takdirde, daha fazla ilgili dokümantasyona başvurulmalıdır. Teşekkür ederim George!
Manfred

12

Varsayılan olarak şu şekilde olacaktır:

C: \ Kullanıcılar \ kullanıcı_adı \ Belgeler \ IISExpress \ Logs \


Peki ya varsayılan değer başkası tarafından değiştirildiyse? Nasıl eski haline getirebilirim lütfen?
Fandango68

4
@ Fandango68 Bu yeni bir soru, yorum değil.

Nerede olduğunu söylüyor, nasıl değiştirileceğini değil (soru başına)
Rowland Shaw
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.