在 Apache Commons Net 中为 FTP 协议启用日志记录
Enable logging in Apache Commons Net for FTP protocol
Apache Commons Net 库似乎没有向任何 "logger".
发送任何内容
我能否以某种方式从 (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
, which has a method addProtocolCommandListener
. You can pass it an implementation of ProtocolCommandListener
以实现日志记录。
有一个现成的实现 PrintCommandListener
,它打印协议日志以提供 PrintStream
。
使用这样的代码:
ftpClient.addProtocolCommandListener(
new PrintCommandListener(
new PrintWriter(new OutputStreamWriter(System.out, "UTF-8")), true));
...,您将得到您所要求的准确输出。
Apache Commons Net 库似乎没有向任何 "logger".
发送任何内容我能否以某种方式从 (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
, which has a method addProtocolCommandListener
. You can pass it an implementation of ProtocolCommandListener
以实现日志记录。
有一个现成的实现 PrintCommandListener
,它打印协议日志以提供 PrintStream
。
使用这样的代码:
ftpClient.addProtocolCommandListener(
new PrintCommandListener(
new PrintWriter(new OutputStreamWriter(System.out, "UTF-8")), true));
...,您将得到您所要求的准确输出。