【问题标题】:Enable logging in Apache Commons Net for FTP protocol在 Apache Commons Net 中为 FTP 协议启用日志记录
【发布时间】:2019-04-24 20:22:04
【问题描述】:

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

【问题讨论】:

    标签: java logging ftp apache-commons-net


    【解决方案1】:

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

    有一个现成的实现PrintCommandListener,它将协议日志打印到提供的PrintStream

    使用这样的代码:

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

    ...,您将得到您所要求的准确输出。

    【讨论】:

      猜你喜欢
      • 2011-03-15
      • 2012-07-20
      • 1970-01-01
      • 2019-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      相关资源
      最近更新 更多