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
Apache Commons Net中的所有协议实现(包括FTPClient,派生自SocketClient)都有一个方法addProtocolCommandListener。您可以将其传递ProtocolCommandListener给实现日志记录的实现。
FTPClient
SocketClient
addProtocolCommandListener
ProtocolCommandListener
有一个现成的实现PrintCommandListener,可以打印提供的协议日志PrintStream。
PrintCommandListener
PrintStream
用这样的代码:
ftpClient.addProtocolCommandListener( new PrintCommandListener( new PrintWriter(new OutputStreamWriter(System.out, "UTF-8")), true));
…,您将确切地获得所需的输出。