116

IISExpress writes log and configuration data to pre-determined location out of the box.

The directory is an "IISExpress" directory stored in a user's Documents directory.

In the directory is stored the following folders files underneath.

  • Config
  • Logs
  • TraceLogFiles

The location of my home directory is on a network share, determined by group policy

Currently we are encountering scenarios where visual studio locks up when stopping debugging Silverlight applications using IIS Express.

I was looking to change the location for the log & configuration data for IISExpress to see if this fixes the problem of visual studio locking up. Is it possible to change the default location of log & config files ?

Rap
  • 6,250
  • 2
  • 45
  • 80
Adrian Russell
  • 3,685
  • 5
  • 22
  • 25

3 Answers3

148

1 . By default applicationhost.config file defines following two log file locations. Here IIS_USER_HOME would be expanded as %userprofile%\documents\IISExpress\.

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

You can update above directory paths to change the log file locations.

2 . If you are running IIS Express from command line, you can use '/config' switch to provide configuration file of your choice. Following link may help you http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/

balexandre
  • 69,002
  • 44
  • 219
  • 321
vikomall
  • 16,953
  • 6
  • 44
  • 38
  • 20
    If you are running IIS Express from Visual Studio, the .config file is loaded from `$(solutionDir)\.vs\config\applicationhost.config` (referenced from this [answer](https://stackoverflow.com/a/31940843/731081)) – sonyisda1 Feb 01 '18 at 16:32
  • 8
    VS2019 has changed this and defaults to disabled in the .vs\\config\applicationhost.config file. The path is now %AppData%\Microsoft\IISExpressLogs" for w3c logs and "%AppData%\Microsoft" for tracelogs. – Praveen Nayak Feb 26 '20 at 10:59
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>

I find web.config documentation is a messy. It is therefore better to provide a complete parent history than a floating snippet with the expectation that the reader naturally knows where it goes.

George
  • 1,268
  • 18
  • 28
  • 2
    Yes, +1 for providing the complete parent history. Otherwise even more related documentation has to be consulted. Thank you, George! – Manfred May 02 '18 at 02:47
12

By default it will be in:

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

TravisO
  • 9,062
  • 3
  • 33
  • 44