在 Apache Commons Net 中为 FTP 协议启用日志记录

2022-11-07Java开发问题
7

本文介绍了在 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 协议启用日志记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

如何使用 JAVA 向 COM PORT 发送数据?
How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)...
2024-08-25 Java开发问题
21

如何使报表页面方向更改为“rtl"?
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)...
2024-08-25 Java开发问题
19

在 Eclipse 项目中使用西里尔文 .properties 文件
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)...
2024-08-25 Java开发问题
18

有没有办法在 Java 中检测 RTL 语言?
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)...
2024-08-25 Java开发问题
11

如何在 Java 中从 DB 加载资源包消息?
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)...
2024-08-25 Java开发问题
13

如何更改 Java 中的默认语言环境设置以使其保持一致?
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)...
2024-08-25 Java开发问题
13