Localização do arquivo de log do IISExpress

109

O IISExpress grava dados de log e configuração em um local pré-determinado pronto para uso.

O diretório é um diretório "IISExpress" armazenado no diretório Documentos de um usuário.

No diretório são armazenados os seguintes arquivos de pastas embaixo.

  • Config
  • Histórico
  • TraceLogFiles

A localização do meu diretório inicial é um compartilhamento de rede, determinado pela política de grupo

Atualmente, estamos encontrando cenários em que o Visual Studio trava ao parar a depuração de aplicativos Silverlight usando o IIS Express.

Eu estava tentando mudar o local dos dados de log e configuração do IISExpress para ver se isso corrige o problema de travamento do Visual Studio. É possível alterar a localização padrão dos arquivos de log e configuração?

Adrian Russell
fonte
O log que eu procurava no Windows 10 estava aqui: C: \ WINDOWS \ temp \ PHP71ForIISExpress_errors.log
Rob Sedgwick

Respostas:

136

1 Por padrão, o arquivo applicationhost.config define os dois locais de arquivo de log a seguir. Aqui IIS_USER_HOME seria expandido como %userprofile%\documents\IISExpress\.

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

Você pode atualizar os caminhos do diretório acima para alterar os locais do arquivo de log.

2 Se você estiver executando o IIS Express na linha de comando, poderá usar a opção '/ config' para fornecer o arquivo de configuração de sua escolha. O link a seguir pode ajudá-lo http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/

vikomall
fonte
14
Se você estiver executando o IIS Express a partir do Visual Studio, o arquivo .config é carregado de $(solutionDir)\.vs\config\applicationhost.config(referenciado a partir desta resposta )
sonyisda1
3
O VS2019 mudou isso e o padrão é desabilitado no arquivo .vs \ <app> \ config \ applicationhost.config. O caminho agora é% AppData% \ Microsoft \ IISExpressLogs "para logs w3c e"% AppData% \ Microsoft "para 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>

Acho que a documentação do web.config é uma bagunça. Portanto, é melhor fornecer uma história completa dos pais do que um fragmento flutuante com a expectativa de que o leitor saiba naturalmente para onde vai.

George
fonte
2
Sim, +1 para fornecer o histórico completo dos pais. Caso contrário, ainda mais documentação relacionada deve ser consultada. Obrigado, George!
Manfred
12

Por padrão, ele estará em:

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

TravisO
fonte
Mas e se o padrão foi alterado por outra pessoa? Como faço para mudar de volta, por favor?
Fandango68
4
@ Fandango68 Essa é uma pergunta nova, não um comentário.
Isso diz onde está, não como alterá-lo (por pergunta)
Rowland Shaw