Enable logging in Apache Commons Net for FTP protocol(在 Apache Commons Net 中为 FTP 协议启用日志记录)
问题描述
Apache Commons Net 库似乎没有向任何记录器"发送任何内容.
Apache Commons Net library does not seem to send anything to any "logger".
我能否以某种方式从 (FTP) 会话中获取日志文件以进行调试?例如来自服务器的原始 FTP 命令和响应,如下所示:
Can I somehow obtain a log file from an (FTP) session, for debugging purposes? For example raw FTP commands and responses from the server, like this:
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,它有一个方法<代码>addProtocolCommandListener.您可以将 ProtocolCommandListener 实现日志记录.
All protocol implementations in Apache Commons Net, including FTPClient, derive from SocketClient, which has a method addProtocolCommandListener. You can pass it an implementation of ProtocolCommandListener to implement logging.
有一个现成的实现 PrintCommandListener,将协议日志打印到提供的PrintStream.
使用这样的代码:
ftpClient.addProtocolCommandListener(
new PrintCommandListener(
new PrintWriter(new OutputStreamWriter(System.out, "UTF-8")), true));
...,您将得到您所要求的准确输出.
..., you will get exactly the output that you have asked for.
这篇关于在 Apache Commons Net 中为 FTP 协议启用日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 Apache Commons Net 中为 FTP 协议启用日志记录
基础教程推荐
- RabbitMQ:消息保持“未确认"; 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- Struts2 URL 无法访问 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
