gpt4 book ai didi

c# - 在 System.Diagnostics.Trace 中获取 DateTime 的本地时间

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

我在我的 app.config 中定义了一些监听器 + 添加带有 DateTime 的 traceOutputOptions。它完全符合我的需求,不需要额外的包(log4net)/没有额外的配置。

但是文件中的日期时间是 UTC 时间,这使得通常很难“快速阅读”和比较。有没有办法在不覆盖默认跟踪系统的情况下强制在本地时间输出?

<trace autoflush="true" indentsize="4">
<listeners>
<add name="delimitedListener" type="System.Diagnostics.DelimitedListTraceListener" delimiter=";" initializeData="output.log" traceOutputOptions="DateTime">
<filter type="System.Diagnostics.EventTypeFilter" initializeData="Warning"/>
</add>
<add name="consoleListener" type="System.Diagnostics.ConsoleTraceListener"/>
<remove name="Default" />
</listeners>
</trace>

最佳答案

我很确定没有办法让它使用本地时间。我想我可能很久以前就提交了一个错误报告,微软说他们不会修复它。如果我没记错的话,微软说按本地时间打印会导致性能问题。另外,我认为这可能与可以将信息记录到 ETW 这一事实有关?对我来说似乎真的很愚蠢。我愿意为此付出性能上的代价,因为用户非常反对必须从 GMT 转换日期/时间。我同意你的看法,我宁愿只使用 .NET 的内置日志记录,也不愿向 Log4net 添加依赖项。不幸的是,微软似乎并不关心如何让它变得非常健壮。对我来说,这似乎是一个非常明显的可用性问题。

关于c# - 在 System.Diagnostics.Trace 中获取 DateTime 的本地时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34808195/

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