gpt4 book ai didi

c# - 定义跟踪源时,App Config 不支持属性 Tracemode

转载 作者:行者123 更新时间:2023-11-30 16:59:58 25 4
gpt4 key购买 nike

有很多教程涵盖了 app.config 中的跟踪模式。其中之一是 http://msdn.microsoft.com/en-us/library/ty48b824%28v=vs.110%29.aspx它应该适用于 .Net 框架的 2-4.5 版。

<configuration>
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="includehex" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
<add name="System.Net.Sockets" value="Verbose"/>
<add name="System.Net.Cache" value="Verbose"/>
</switches>
<sharedListeners>
<add name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="network.log"
/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
</configuration>

在我的例子中,源属性被标记为无效/不可用。

-> source name="System.Net"tracemode="includehex"maxdatasize="1024"

我需要定义 tracemode 属性以在我的网络跟踪日志文件中禁用十六进制输出。我搜索了各种资源,但每个人都说“不可能,忽略错误”。但是忽略没有帮助,只是跳过属性,使用默认值。

我无法通过代码使用跟踪,因为我需要直接跟踪无法直接定义的 Net/Net.Sockets

我用两个版本的 Visual Studio(2005、2012)和各种框架设置(2、3、4)尝试了不同项目的设置,但没有任何帮助。

为什么属性被标记为无效?

最佳答案

我遇到了同样的问题,但我意识到无法为我们要插入的源中列出的所有程序集指定属性 tracemode。

即使 VS 代码编辑器将此属性提升为不允许,它也适用于 System.Net 程序集,因此适用于它的每个子程序集(在我的情况下对我来说很重要)。

这里是一个导致功能性 web.config 的示例:

<system.diagnostics>
<trace autoflush="true">
</trace>
<sources>
<source name="System.Net" tracemode="protocolonly" switchValue ="All">
<listeners>
<add name="log4net" />
</listeners>
</source>
<source name="System.Net.Cache" tracemode="protocolonly" switchValue ="All">
<listeners>
<add name="log4net" />
</listeners>
</source>
<source name="System.Net.Http" tracemode="protocolonly" switchValue ="All">
<listeners>
<add name="log4net" />
</listeners>
</source>
<source name="System.Net.HttpListener" tracemode="protocolonly" switchValue ="All">
<listeners>
<add name="log4net" />
</listeners>
</source>
<source name="System.Net.Sockets" tracemode="protocolonly" switchValue ="All">
<listeners>
<add name="log4net" />
</listeners>
</source>
<source name="System.ServiceModel" propagateActivity="true" switchValue ="All">
<listeners>
<add name="log4net" />
</listeners>
</source>
<source name="System.Web.Services.Asmx" switchValue ="All">
<listeners>
<add name="log4net" />
</listeners>
</source>
</sources>

希望我的 2 美分有所帮助。

关于c# - 定义跟踪源时,App Config 不支持属性 Tracemode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22939061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com