gpt4 book ai didi

java - 在 Apache Camel 中打印异常堆栈跟踪

转载 作者:行者123 更新时间:2023-12-02 08:59:33 28 4
gpt4 key购买 nike

我正在使用 Spring Boot 和 Apache Camel 开发一个程序,该程序使用 FTP 从文件服务器读取文件,然后使用 FTP 将其写入另一个文件服务器。我正在 JBoss EAP 服务器中部署 Spring Boot 应用程序。当我使用 Apache commons-net 库连接到 FTP 服务器时,它失败并出现异常,无法连接到 FTP 服务器。我打印了堆栈跟踪。异常(exception)情况如下:

    <<Some FTP logs before connecting>>
500 - I won't open a connection to IP.
java.lang.NullPointerException
...
...

但是当我使用 Apache Camel 做同样的事情时,它不会打印任何异常消息或堆栈跟踪或 FTP 日志。下面是我的程序:

public void configure() throws Exception {
errorHandler(defaultErrorHandler()
.maximumRedeliveries(3)
.redeliveryDelay(1000)
.retryAttemptedLogLevel(LoggingLevel.WARN));

from("direct:transferFile")
.log("Transferring file")
.process(requestProcessor)
.pollEnrich()
.simple("${exchangeProperty.inputEndpoint}").timeout(0).aggregationStrategy(requestAggregator)
.choice()
.when(body().isNotNull())
.toD("${exchangeProperty.outputEndpoint}", true)
.log("File transferred")
.otherwise()
.log("Empty body, exiting");
}

有人可以建议我如何在 Apache Camel 中打印堆栈跟踪和 FTP 日志吗?

最佳答案

为什么不使用 onException包含您的具体选项的条款:

onException(NullPointerException.class)
.maximumRedeliveries(3)
.redeliveryDelay(1000)
.retryAttemptedLogLevel(LoggingLevel.WARN);

对于日志记录,请使用带有更多参数的 log() 来显示这些消息。

.log(LoggingLevel.WARN,"Transferring file ${body}")

可能由于您的日志级别原因,您的日志不会显示。

关于java - 在 Apache Camel 中打印异常堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60263349/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com