代码之家  ›  专栏  ›  技术社区  ›  user3205479

删除/重写.NET中的rabbitmq拓扑恢复异常日志

  •  0
  • user3205479  · 技术社区  · 6 年前

    根据RabByMQ Java客户端API, https://www.rabbitmq.com/api-guide.html#recovery

    与连接、通道、恢复和 使用者生命周期委托给异常处理程序。例外 handler是实现exceptionhandler接口的任何对象。 默认情况下,使用DefaultExceptionHandler的实例。它打印 标准输出的异常详细信息。

    可以使用 ConnectionFactory设置异常处理程序。它将用于所有人 工厂创建的连接:

    我们有

    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
    };
    

    我想覆盖/删除由于拓扑结构恢复异常而打印到控制台的日志。

    enter image description here

    有人能帮我解决rabbitmq.client如何使用v4.1覆盖控制台日志的默认行为吗?非常感谢您的帮助。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Luke Bakken    6 年前

    首先你应该升级到最新版本 5.X .NET客户端。

    然后,注意 ChangeLog 控制台日志记录被事件源替换的文件( link )。

    CallbackException 我相信,当你的一个回调引发异常时使用。它与库生成的异常无关。


    注: rabbitmq团队监控 the rabbitmq-users mailing list 有时只回答stackoverflow上的问题。