据我所知,所有现有的log4net appender都是为推送消息而设计的。我有一个具有多种服务的应用程序,我想让开发人员轻松订阅按需记录消息。
这种方法有几个好处:
我想到的是使用UDP将所有消息推送到中心位置,并设置该服务器以允许SignalR客户端订阅。
我希望有现成的解决方案。这似乎是一种常见的情况。
答案 0 :(得分:0)
我不知道使用UDP推送日志的任何令人兴奋的解决方案。但是log4net appender非常容易编写。
评论您的好处:
•没有人订阅时开销很低
这不是真的,你仍然需要在log4net应用程序中执行所有appender逻辑。您的程序不知道是否订阅了某人。
•无需在用户端打开防火墙端口
网络上的消息泄露,任何人都可以获取消息。您必须重新检查所有登录安全信息。
•无需在运行时打开/关闭appender
Appender一直在运行,因此它们会对您的应用程序产生性能影响。 Log4net是轻量级等待,但是你记录和推送甚至调试信息的次数越多,它就不会提高你的性能。
答案 1 :(得分:0)
我找不到现有的解决方案,所以我创建了自己的解决方案: