Я работаю над переносом сайта из 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 я получаю только журнал System.ServiceModel. Я проверил, что каталог существует, и я дал полный контроль над всеми. Я также перезапустил службы и сайт, пытаясь заставить журналы сбрасываться. Я только что пытался что-то вытащить из этой вещи, поэтому я также установил службы ролей Tracing and Logging Tools. Я все еще не получаю журналы приложений.
Я также попробовал реализацию, в которой я регистрировался в EventLog вместо файлов журнала трассировки. Это также демонстрирует такое же поведение. Работал локально и при развертывании на локальном IIS, но не при развертывании на реальном сервере. Я зарегистрировался в журнале приложений и на своем компьютере IIS7 я дал разрешение на полный доступ для HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog \ Application.
Похоже, мне здесь чего-то не хватает. Я не могу получить никакой информации из этих двух разных реализаций ведения журналов при развертывании в IIS 7. Я даже не уверен, что здесь общего. Оба EventLog.WriteEntry и Trace.TraceEvent используют WCF?