我将带有log4j 2套接字appender的日志消息发送到日志服务器。如果远程服务器关闭,则消息会丢失。我想在建立连接时重新发送它们 我可以通过捕获套接字异常并将消息保存到临时队列来实现。可以只使用log4j配置吗?也许使用故障转移appender或其他一些?
编辑: 有任何想法吗?也许用async appender。它已经有一个队列。
答案 0 :(得分:1)
这很难。因为它应该是某种可靠的协议。例如。套接字发送的事实并不意味着它被接收并写入磁盘/等。例如,请查看JMSAppender
。
对于简单的故障转移,您可以使用两个appender和两个远程服务器,只是不要同时重启它们。
然而,记录器不是你应该过分关注可靠性的东西。如果您有业务需求,则应使用适当的工具以不同方式实现它。