小编典典

在Apache Commons Net中启用FTP协议登录

java

Apache Commons Net库似乎没有将任何内容发送到任何“记录器”。

我可以以某种方式从(FTP)会话中获取日志文件以进行调试吗?例如原始的FTP命令和来自服务器的响应,如下所示:

220 Welcome
USER *******
331 Password required for ...
PASS *******
230 Logged on
TYPE I
200 Type set to I
QUIT
221 Goodbye

阅读 219

收藏
2020-09-16

共1个答案

小编典典

Apache Commons
Net中的所有协议实现(包括FTPClient,派生自SocketClient)都有一个方法addProtocolCommandListener。您可以将其传递ProtocolCommandListener给实现日志记录的实现。

有一个现成的实现PrintCommandListener,可以打印提供的协议日志PrintStream

用这样的代码:

ftpClient.addProtocolCommandListener(
    new PrintCommandListener(
        new PrintWriter(new OutputStreamWriter(System.out, "UTF-8")), true));

…,您将确切地获得所需的输出。

2020-09-16