Я успешно настроил запись в файл App.config
приложения.Соответствующие части следующие:
<system.diagnostics>
<sources>
<source name="System.Net.Http">
<listeners>
<add name="PushTraceListener" />
</listeners>
</source>
</sources>
<switches>
<add name="System.Net.Http" value="Verbose"/>
</switches>
<sharedListeners>
<add name="PushTraceListener"
type="PushCore.Logging.LoggingTraceListener, PushCore" />
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="2000"/>
</diagnostics>
</system.serviceModel>
Хотя это работает нормально, мне кажется, я не могу сделать то же самое в коде приложения, который я попытался сделать следующим образом.
var LoggingTraceListener = new LoggingTraceListener
{ Name = "PushTraceListener", Filter = new LoggingTraceFilter() };
Trace.AutoFlush = true;
var TraceSourceNames = new string[] { "System.Net.Http" };
foreach (var TraceSourceName in TraceSourceNames)
{
var TraceSource = new TraceSource(TraceSourceName, SourceLevels.Verbose);
TraceSource.Switch = new SourceSwitch(TraceSourceName, "Verbose");
TraceSource.Listeners.Add(LoggingTraceListener);
}
Trace.Listeners.Add(LoggingTraceListener);
The *Кажется, что сам 1008 * ведет себя как ожидалось, поскольку он получает сообщения, написанные с помощью Trace
, но, очевидно, не из экземпляра TraceSource
, для которого был создан экземпляр.Я почему-то считаю, что создание экземпляра TraceSource
здесь нежелательно, но вместо этого придется использовать существующий источник трассировки.Тем не менее, я не знаю, как это сделать.
Возможно ли, во-первых, добиться желаемого входа в систему?Если да, то как?
Обоснованным вопросом было бы то, почему я хотел бы сделать доступ в коде вместо использования App.config
, если конфигурация работает нормально.Причина в том, что App.config
можно использовать только для реального приложения, но не для службы Windows.
Есть предложения?