Включите ведение журнала в Apache Commons Net для протокола FTP - PullRequest
0 голосов
/ 22 ноября 2018

Библиотека 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

1 Ответ

0 голосов
/ 22 ноября 2018

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

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

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

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

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

...