Apache Camel FTP 不会记录错误的密码



当我连接到sftp服务器与Camel和密码是错误的,我没有得到任何关于这一点的信息。如果由于密码错误而没有尝试连接,我如何告诉camel做一些事情(例如日志)。如果用户名是错误的,也一样。下面是我的骆驼路线的一个例子。

       CamelContext camelContext = new DefaultCamelContext();
       camelContext.addRoutes(new RouteBuilder() {
            @Override
            public void configure() throws Exception {
               errorHandler(loggingErrorHandler().level(LoggingLevel.DEBUG));
               from("sftp://my.sftp.server.com:21111/myDir&username=user&password=secret")
               .to("file:test");
            });
        camelContext.start();

就我所理解的行errorHandler(loggingErrorHandler().level(LoggingLevel.DEBUG));应该能够记录发生的所有事情。

粤语吗?

错误一定被抑制在某个地方;Camel FTP组件在TRACE级别记录应该包括所有内容的内容。您使用slf4j吗?如果没有,您可以通过创建一个名为"log4j"的文件来启用它。

设置该文件的内容为:

log4j.rootLogger=INFO, out
og4j.logger.org.apache.camel=DEBUG

这将使Camel的日志级别为DEBUG。这意味着您应该获得大量日志,包括登录失败。

您还需要将其包含在pom.xml中(如果使用maven):

<dependencies>
  <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
  </dependency>
  <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
  </dependency>
</dependencies>

查看本FAQ

  • http://camel.apache.org/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.html

也适用于FTP。

你需要用Camel错误处理程序桥接路由消费者,让路由errorHandler做出反应。这有点像先有鸡还是先有蛋的问题,错误处理程序通常只在有Exchange要路由时才会做出反应。但是,如果FTP使用者在创建Exchange之前失败,则没有Exchange要路由。这就是桥能做的。

谢谢,我发现Camel在Info级别记录它。但他们最后的答案是有希望的FAQ锁。我想我会试一试:)

谢谢

相关内容

  • 没有找到相关文章

最新更新