根据RabbitMq Java客户端API https://www.rabbitmq.com/api-guide.html#recovery
与连接,通道,恢复和恢复有关的未处理异常 消费者生命周期委托给异常处理程序。例外 handler是实现ExceptionHandler接口的任何对象。 默认情况下,使用DefaultExceptionHandler的实例。它打印 标准输出的异常详细信息。
可以使用以下方法覆盖处理程序 ConnectionFactory#setExceptionHandler。它将用于所有 工厂创建的连接:
我们有
ConnectionFactory factory = new ConnectionFactory();
cf.setExceptionHandler(customHandler);
.NET RabbitMq客户端的相同实现是什么?添加此代码仍在编写控制台日志,并且不执行我的逻辑,以及如何删除现有的事件处理程序?
var factory = new ConnectionFactory() { HostName = "localhost" };
var connection = factory.CreateConnection();
connection.CallbackException += (x, y) => {
Console.WriteLine("Handled"); // not printing
};
由于拓扑恢复例外,我想覆盖/删除正在打印到控制台的日志。
任何人都可以帮助我解决如何通过Rabbitvq.Client使用v4.1覆盖此默认日志行为以进行控制台的问题。任何帮助将不胜感激。
答案 0 :(得分:0)
首先,您应该升级到最新的5.X
.NET客户端。
然后,请注意ChangeLog
文件中的控制台日志记录已被事件源(link)取代。
CallbackException
。它与库生成的异常无关。
注意: RabbitMQ团队监视the rabbitmq-users
mailing list,并且有时仅在StackOverflow上回答问题。