代码之家  ›  专栏  ›  技术社区  ›  Martin Prikryl

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

  •  0
  • Martin Prikryl  · 技术社区  · 7 年前

    ApacheCommonsNetLibrary似乎没有向任何“记录器”发送任何内容。

    出于调试目的,我是否可以从(FTP)会话中获取日志文件?例如,来自服务器的原始FTP命令和响应,如下所示:

    220 Welcome
    USER *******
    331 Password required for ...
    PASS *******
    230 Logged on
    TYPE I
    200 Type set to I
    QUIT
    221 Goodbye
    
    1 回复  |  直到 7 年前
        1
  •  5
  •   Martin Prikryl    5 年前

    Apache Commons Net中的所有协议实现,包括 FTPClient 源于 SocketClient ,它有一个方法 addProtocolCommandListener ProtocolCommandListener

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

    代码如下:

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

    推荐文章