Я работаю над миграцией сайта от IIS 6 до IIS 7, и я не могу видеть все свои журналы. Моя system.diagnostics конфигурация следующие:
<system.diagnostics>
<trace autoflush="true"></trace>
<sources>
<source name="Assembly1" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
traceOutputOptions="ProcessId, ThreadId, DateTime"
initializeData="E:\Inetpub\logs\App\Assembly1.log" />
</listeners>
</source>
<source name="Assembly2" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
traceOutputOptions="ProcessId, ThreadId, DateTime"
initializeData="E:\Inetpub\logs\App\Assembly2.log" />
</listeners>
</source>
<source name="Assebly3" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
traceOutputOptions="ProcessId, ThreadId, DateTime"
initializeData="E:\Inetpub\logs\App\Assembly3.log" />
</listeners>
</source>
<source name="System.ServiceModel" switchValue="All" propagateActivity="true">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="E:\Inetpub\logs\App\ServiceTrace.svclog" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="All">
<listeners>
<add name="DiagnosticMessageTraceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="E:\Inetpub\logs\App\ServiceMessages.svclog" />
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
</switches>
</system.diagnostics>
Если я запускаю приложение локально с помощью веб-сервера ASP.NET или локального IIS, я получаю все свои файлы журнала. После того как приложение было развернуто на IIS 7, я только получаю Систему. Журнал ServiceModel. Я проверил, что каталог существует, и я дал полный контроль всем. Я также перезапустил сервисы и сайт в попытке вынудить журналы сбросить. Я просто пробовал что-либо для вывода журнала из этой вещи, таким образом, я также установил Трассировку и Вход ролевых сервисов Инструментов. Я все еще не получаю свои журналы приложения.
Я также попробовал реализацию, где я зарегистрировался к EventLog вместо файлов журнала трассировки. Это также показало то же поведение. Работавший локально и при развертывании на локальном IIS, но не при развертывании на фактическом сервере. Я зарегистрировался к журналу приложения, и на моей машине IIS7 я дал разрешение полного контроля HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application.
Кажется, что я должен пропускать что-то здесь. Я не могу вытащить информацию из этих 2 различных реализаций входа при развертывании в IIS 7. Я даже не уверен, что распространено здесь. Сделайте EventLog. WriteEntry и Трассировка. TraceEvent оба использования WCF?
Разрешить всем иметь разрешения на полный доступ к E: \ Inetpub \ logs \ App \
О других проблемах с разрешениями см. IIS 7 изменяется в учетной записи пользователя,
http://learn.iis.net/page.aspx/110/changes-between-iis-60-and-iis-7-security/