Библиотека 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
6
Martin Prikryl 22 Ноя 2018 в 10:43

1 ответ

Лучший ответ

Все реализации протокола в Apache Commons Net, включая FTPClient, происходят от SocketClient, в котором есть метод addProtocolCommandListener. Вы можете передать ему реализацию ProtocolCommandListener, чтобы реализовать ведение журнала.

Есть готовая реализация PrintCommandListener, который распечатывает журнал протокола в предоставленный PrintStream.

С таким кодом:

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

..., вы получите именно тот результат, который просили.

5
Martin Prikryl 31 Авг 2020 в 07:08