Windows服务中的Log4net UDP追加器

Windows服务中的Log4net UDP追加器,udp,log4net,appender,topshelf,Udp,Log4net,Appender,Topshelf,我使用TopShelf开发了一个非常简单的Windows服务。我正在使用log4net并配置了一个UDP Appender。我正在使用一个名为Log2Console的应用程序来查看UDP日志 当我以exe方式运行应用程序时,一切正常,我可以在Log2Console中看到UDP日志。但是,当我使用TopShelf将exe作为服务安装并启动它时,我看不到任何UDP日志 我曾尝试关闭Windows防火墙,看看这是否会有所不同,但没有。我也尝试过更改服务登录详细信息,但也没有成功 有什么建议吗 谢谢。遇

我使用TopShelf开发了一个非常简单的Windows服务。我正在使用log4net并配置了一个UDP Appender。我正在使用一个名为Log2Console的应用程序来查看UDP日志

当我以exe方式运行应用程序时,一切正常,我可以在Log2Console中看到UDP日志。但是,当我使用TopShelf将exe作为服务安装并启动它时,我看不到任何UDP日志

我曾尝试关闭Windows防火墙,看看这是否会有所不同,但没有。我也尝试过更改服务登录详细信息,但也没有成功

有什么建议吗


谢谢。

遇到类似问题,必须更新HostFactory设置,以便在启动时将log4net配置包括在内:

s.WhenStarted(lcp => 
{
   // configure logging for hosted service
   XmlConfigurator.ConfigureAndWatch(new FileInfo(".\\log4net.config"));
   lcp.Start();
});

这很可能是权限问题。但是,您能否将文件追加器用作服务,并验证该服务是否正确启动并生成日志消息?添加了文件追加器,但在我作为服务运行时它不会更新。我应该检查一下。只是假设它与UDP相关,以前从未使用过appender。该服务肯定正在运行,因为我添加了几行代码来定期删除文件夹中的文件。我尝试在Admin a/c下运行该服务,但运气不好。还将日志文件目录的权限授予了所有人。如果您没有附加到文件附加器,则服务可能无法正确启动。加入邮件列表,我们可能会在更多方面帮助您(而且您不必等待我的回复)。发现问题。。。我犯了一个愚蠢的错误。很明显,我不敢相信我几天前错过了。我的主要方法的第一行是XmlConfigurator.ConfigureAndWatch(..)。当然,当作为服务运行时,这些代码永远不会被调用。嘟嘟。为我辩护,这是我近3年来写的第一篇文章。