我正在使用java.util.logging.Logger作为我的应用程序的日志记录引擎.每个类使用它自己的记录器,即每个类具有:
private final Logger logger = Logger.getLogger(this.getClass().getName());
Run Code Online (Sandbox Code Playgroud)
我想为我的所有类设置一个日志记录级别,并能够更改它(即,将设置放在一个地方).有没有办法做到这一点,除了使用全局Level
变量并手动设置每个记录器?
我想简单地使用java.util.Logging登录控制台:
Logger log = Logger.getLogger("my.logger");
log.setLevel(Level.ALL);
ConsoleHandler handler = new ConsoleHandler();
handler.setFormatter(new SimpleFormatter());
log.addHandler(handler);
log.fine("hello world");
Run Code Online (Sandbox Code Playgroud)
但这没有打印出来.我错过了什么?
谢谢
是否可以通过在应用程序启动时传递 JVM 选项来覆盖/设置 java.util.logging.Logger 的日志级别?
我正在java.util.logging.Logger
我的程序中使用日志记录。如何FINE
为单个类启用日志记录,同时将其设置WARNING
为每个其他类?
我更愿意在我的方法中以编程方式执行此操作main()
,而不是需要设置其他属性文件。
我有一个非常小的Java程序,它能够使用apache-commons-net库执行FTP over SSL(不是SFTP)或FTPS.我编写此程序的原因是客户端机器是AIX 5.3,它不支持FTP over SSL(OOTB),FTP主机运行FileZilla服务器,只启用FTP over SSL.该程序运行良好,没有任何问题,但它生成的日志记录量很大.我的问题是 - 有没有办法控制日志记录的数量?
(再次注意 - 该程序对我的极简主义要求非常好)
以下是我的代码中的代码段
import java.io.*;
import java.text.MessageFormat;
import java.util.logging.Logger;
import org.apache.commons.
.....
....
....
try {
int reply;
logger.info("# Invoking Trust Manager");
client.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager());
//client.setTrustManager(TrustManagerUtils.getValidateServerCertificateTrustManager());
logger.info("# Connect Call");
client.connect(server, port);
client.login(username, password);
logger.info("# Login Success");
client.setFileType(FTP.ASCII_FILE_TYPE);
client.execPBSZ(0); // Set protection buffer size
client.execPROT("P"); // Set data channel protection to private
client.enterLocalPassiveMode();
logger.info(MessageFormat.format("Connected to {0} .", server));
reply = client.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
client.disconnect();
logger.severe("FTP server refused …
Run Code Online (Sandbox Code Playgroud)