Расположение файла журнала IISExpress


109

IISExpress записывает данные журнала и конфигурации в заранее определенное место прямо из коробки.

Каталог - это каталог «IISExpress», хранящийся в каталоге документов пользователя.

В каталоге хранятся следующие файлы папок.

  • Конфиг
  • Журналы
  • TraceLogFiles

Мой домашний каталог находится в общей сетевой папке, что определяется групповой политикой.

В настоящее время мы сталкиваемся со сценариями, когда Visual Studio блокируется при остановке отладки приложений Silverlight с помощью IIS Express.

Я хотел изменить расположение журнала и данных конфигурации для IISExpress, чтобы посмотреть, решит ли это проблему блокировки Visual Studio. Можно ли изменить расположение файлов журнала и конфигурации по умолчанию?


Журнал, который я искал в Windows 10, находился здесь: C: \ WINDOWS \ temp \ PHP71ForIISExpress_errors.log
Роб Седжвик,

Ответы:


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 "для журналов трассировки.
Правин Наяк,

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 за предоставление полной истории родителей. В противном случае придется обращаться к дополнительной документации. Спасибо, Джордж!
Манфред

12

По умолчанию это будет в:

C: \ Users \ имя_пользователя \ Documents \ IISExpress \ Logs \


Но что, если значение по умолчанию было изменено кем-то другим? Как мне вернуть его обратно?
Fandango68

4
@ Fandango68 Это новый вопрос, а не комментарий.

Здесь указано, где он находится, а не как его изменить (на каждый вопрос)
Роуленд Шоу
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.