gpt4 book ai didi

.net - 是否可以使用 System.Diagnostics.Trace 作为 .net 的公共(public)日志记录形式?

转载 作者:行者123 更新时间:2023-12-01 13:56:42 28 4
gpt4 key购买 nike

我想知道是否有任何方法可以利用 System.Diagnostics.Trace 上的方法,作为我的 .Net 库的公共(public)日志记录形式。我可以使用内置方法,而不是在这些库中包含 log4net 或 CommonsNet 的依赖项(这似乎是一个类似于 .Net 中 java 的 commons logging 的项目)。

我看到可以在此跟踪输出中添加监听器,但是调用 Trace.TraceError 是否会降低性能? , Trace.TraceWarningTrace.TraceInformation从性能关键代码?

最佳答案

它们已经为此目的而设计,因此将它们用于应有的目的是完全有效的。只需将其添加到您的 app.config 文件中:

<configuration>
<system.diagnostics>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" />
<remove name="Default" />
</listeners>
</trace>
</system.diagnostics>
</configuration>

另一方面,是的,它们会影响您的应用程序在性能敏感区域中的性能。如果您对此非常担心,请使用 Common.Logging如下所示:
log.Trace(m=>m("value= {0}", obj.Value));

这样,只有启用 LogLevel.Trace 时才会评估此函数。禁用时,性能损失最小。

关于.net - 是否可以使用 System.Diagnostics.Trace 作为 .net 的公共(public)日志记录形式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6091090/

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