我看过几篇关于这方面的文章和问题,但似乎没有一篇对我有效。
我在一个DLL中托管了一个SignalR服务器,然后在一个WPF应用程序中使用它。一般来说,一切都运行得很好。但是为了使调试更容易,我想要一些服务器端日志。我已经尝试实现了this example。
我不想使用我自己的配置(无论哪种方式,我也不能用TextWriterTraceListener获得任何结果...),所以这是我在我的app.config中添加到配置标记中的内容:
<system.diagnostics>
<sources>
<source name="SignalR.SqlMessageBus">
<listeners>
<add name="SignalR-Bus" />
</listeners>
</source>
<source name="SignalR.ServiceBusMessageBus">
<listeners>
<add name="SignalR-Bus" />
</listeners>
</source>
<source name="SignalR.RedisMessageBus">
<listeners>
<add name="SignalR-Bus" />
</listeners>
</source>
<source name="SignalR.ScaleoutMessageBus">
<listeners>
<add name="SignalR-Bus" />
</listeners>
</source>
<source name="SignalR.Transports.WebSocketTransport">
<listeners>
<add name="SignalR-Transports" />
</listeners>
</source>
<source name="SignalR.Transports.ServerSentEventsTransport">
<listeners>
<add name="SignalR-Transports" />
</listeners>
</source>
<source name="SignalR.Transports.ForeverFrameTransport">
<listeners>
<add name="SignalR-Transports" />
</listeners>
</source>
<source name="SignalR.Transports.LongPollingTransport">
<listeners>
<add name="SignalR-Transports" />
</listeners>
</source>
<source name="SignalR.Transports.TransportHeartBeat">
<listeners>
<add name="SignalR-Transports" />
</listeners>
</source>
<source name="SignalR.ReflectedHubDescriptorProvider">
<listeners>
<add name="SignalR-Init" />
</listeners>
</source>
</sources>
<!-- Sets the trace verbosity level -->
<switches>
<add name="SignalRSwitch" value="Verbose" />
</switches>
<!-- Specifies the trace writer for output -->
<sharedListeners>
<!-- Listener for transport events -->
<add name="SignalR-Transports" type="MyNamespace.MyListener, MyAssembly, Version=9999.0.0.17, Culture=neutral, PublicKeyToken=null" />
<!-- Listener for scaleout provider events -->
<add name="SignalR-Bus" type="MyNamespace.MyListener, MyAssembly, Version=9999.0.0.17, Culture=neutral, PublicKeyToken=null" />
<!-- Listener for hub discovery events -->
<add name="SignalR-Init" type="MyNamespace.MyListener, MyAssembly, Version=9999.0.0.17, Culture=neutral, PublicKeyToken=null" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>正如我所说的,当我使用TextWriterTraceListener并且使用我自己的类时,它甚至不会尝试调用构造器或其中一个方法。
有没有人知道如何正确地做到这一点?
发布于 2018-12-15 18:41:29
在配置中似乎没有任何问题,并且它在sample中没有任何更改就可以工作。我建议检查visual studio的即时窗口或输出窗口,有时跟踪通道正在写入此窗口。TextWriterTraceListener将在执行程序集路径处简单地创建文件,请验证该文件是否正确。
https://stackoverflow.com/questions/53711720
复制相似问题