【发布时间】:2015-04-20 13:38:03
【问题描述】:
我们在 Windows 服务(在用户帐户下运行)中使用 Log4Net 进行日志记录,并且所有翻转文件都在文件名中附加了时间戳。
我们发现 fileName 中的时间相差了 12 小时 30 分钟。 Windows 服务在 PST 时区托管的客户端计算机上运行,并且代码在印度编译,我们认为这是一些相关性,因为记录的时间对应于 IST 时间。
代码在 C#、.Net 3.5 和 VS 2008 中
知道如何纠正这个问题吗?
【问题讨论】:
-
您在 Log4Net 配置文件中是否有任何特定于日期时间格式或区域的设置?
-
这可能取决于文件名的生成方式。如果它是由 Log4Net 完成的,那么它应该能够由 xml 配置like this 控制。文件名也有可能是由客户端进程生成的,在这种情况下,我会高度怀疑它可能是硬编码的。
-
该服务应该占用本地时间(机器时间)并使用相同的时间创建日志。所以在 PST 区域它应该花费 PST 而不是 IST 中的机器时间
标签: c# .net windows-services log4net