【问题标题】:is it possible to skip logging stacktrace by SeekToCurrentErrorHandler?是否可以通过 SeekToCurrentErrorHandler 跳过日志记录堆栈跟踪?
【发布时间】:2021-03-03 06:59:08
【问题描述】:

我刚刚使用 kafka 项目在 Spring Cloud Stream 中配置了 SeekToCurrentErrorHandler,我看到大量日志(每次交付尝试一个堆栈跟踪),我想保持沉默。有可能吗?

PS。我不知道它是否相关(以及我是否做得对。欢迎发表评论;)),但我从我的@StreamListener 抛出一个异常,该异常由@ServiceActivator 处理,在其中我重新抛出包装异常以便运行错误处理程序。

【问题讨论】:

    标签: apache-kafka spring-kafka spring-cloud-stream spring-cloud-stream-binder-kafka


    【解决方案1】:

    从 spring-kafka 2.5 版本开始(Boot 2.3 自带)可以设置日志级别。

    /**
     * Set the level at which the exception thrown by this handler is logged.
     * @param logLevel the level (default ERROR).
     */
    public void setLogLevel(KafkaException.Level logLevel) {
        Assert.notNull(logLevel, "'logLevel' cannot be null");
        this.logLevel = logLevel;
    }
    

    【讨论】:

    • 幸运的是,我们能够升级版本。奇迹般有效。非常感谢!
    • @PiotrTempes 我面临同样的问题。你能分享一下哪个版本解决了这个问题。我正在使用 spring kafka 2.6.11,但无法通过更改日志级别来禁止记录堆栈跟踪。
    • 请提出一个显示代码、配置和堆栈跟踪的新问题。
    • @venky 不幸的是,我不再从事这个项目,我无法访问它的代码库,而且那是很久以前的事了,所以我不记得了。我认为你应该按照 Gary 上面的建议去做。提出新问题,提供尽可能多的信息。您使用的版本应该没问题,所以我猜这是配置问题。卡夫卡在春天有很多不同的抽象,所以在你的情况下,可能会有不同的配置启动?根据您发布的信息很难判断。稍微深入一点。我相信你最终会得到它。祝你好运!
    猜你喜欢
    • 2011-09-16
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    相关资源
    最近更新 更多