【发布时间】:2018-07-11 20:43:42
【问题描述】:
我有一个每天运行的 Windows 服务(c#,.net v4.5.2),应该将错误记录到 Windows 事件日志(通过 System.Diagnostics),并将错误和进度信息记录到数据库(通过 log4net)。 Log4net 设置为写入“INFO”级别。
我上次查看时两种日志记录机制都运行良好,但昨晚 Windows 服务失败了。我查看了 d/b 和事件日志,发现它自 6 月 20 日以来没有写入任何内容,直到它在昨晚崩溃后记录了自动重启(对两个日志)。
平台是 Azure 中的 Windows 2012R2 VM。该服务从从属数据库获取更改跟踪的 SQL 更新,将它们应用于主数据库,备份主数据库并通过从属数据库恢复它,log4net 日志在主数据库上。一切都运行良好,只是放弃了日志记录。
谁能解释为什么它可能停止记录到 log4net 和 Windows 事件日志?
【问题讨论】:
-
当然..您要求我们调试您的环境、思想和代码,而我们看不到它们吗?我唯一能想到的是权限已更改
-
并非如此。我想知道是否有人有无缘无故停止记录的经验(服务本身已经成功运行),以及他们是否设法找出原因。
-
您是否检查了服务使用的用户以及密码是否已更改?
-
如我所说,服务已经运行成功。只是记录已停止。如果只是 log4net 停止了,我认为这是某种配置错误,但事件日志记录也停止了。编辑问题以添加一些上下文。
-
K,我有一个可行的假设 - 与此相关 stackoverflow.com/questions/26620785/… - 我将发布作为答案