【问题标题】:Log4net UDP appender stops sending when UDP listener client disconnected当 UDP 侦听器客户端断开连接时,Log4net UDP appender 停止发送
【发布时间】:2020-10-21 21:20:16
【问题描述】:

我们在运行 .NET F/W 4.8 的 Window 服务中使用 log4net UDP appender。我们使用 logview4net 作为客户端来观察本地工作站上运行的消息。当我们在一天结束时关闭/注销然后第二天早上重新启动时,UDP 附加程序将不会重新连接。执行netstat -a 表明该服务没有在该端口上发送任何内容。如果我们想重新激活 UDP 日志记录,我们必须重新启动它。

有没有办法通过代码或 xml 配置文件中的设置告诉 log4net 开始为 UDP appender 推送数据?也许是underlying UDP class 里的东西?

谢谢,蒂姆

【问题讨论】:

  • 检查任务管理器以查看应用程序是否仍在运行。
  • 该应用程序是一个 Windows 服务,它正在响应请求,因此我们知道它正在运行。日志记录通过 RollingFileAppender 工作,而不是在客户端系统重新启动后使用 UDP。谢谢

标签: c# udp log4net


【解决方案1】:

这是一个完整的组合,所以投反对票,但我们在AssemblyInfo.cs 文件中设置了配置文件Watch = true。事实证明,如果您在配置文件上使用 touch 命令(将文件日期更改为今天的 Linux 命令),它会导致 log4net 重新加载文件并再次开始推送 UDP。

我想我发布这个问题让我想到了这个问题。如果有人有更好的想法,请告诉我,或者如果我的大脑后部抛出了其他有用的东西,我会添加它。

【讨论】:

  • 您说应用程序正在运行。我认为这不是 UDP 问题。应用程序在尝试访问日志文件时挂起。所以我是你要么使用计时器,要么检查日期,当你超过午夜时,程序挂起。
猜你喜欢
  • 1970-01-01
  • 2014-06-29
  • 2019-06-19
  • 2012-03-27
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多