gpt4 book ai didi

java - 在使用 java 日志记录 API 时,如何禁用默认控制台处理程序?

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:47 24 4
gpt4 key购买 nike

您好,我正在尝试在我的应用程序中实现 java 日志记录。我想使用两个处理程序。文件处理程序和我自己的控制台处理程序。我的两个处理程序都工作得很好。我的日志记录发送到文件和控制台。我的日志记录也被发送到默认的控制台处理程序,这是我不想要的。如果您运行我的代码,您将看到额外的两行发送到控制台。我不想使用默认的控制台处理程序。有谁知道如何禁用默认控制台处理程序。我只想使用我创建的两个处理程序。

Handler fh = new FileHandler("test.txt");
fh.setFormatter(formatter);
logger.addHandler(fh);
<小时/>
Handler ch = new ConsoleHandler();
ch.setFormatter(formatter);
logger.addHandler(ch);
<小时/>
import java.util.Date;
import java.util.logging.ConsoleHandler;
import java.util.logging.FileHandler;
import java.util.logging.Formatter;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.LogManager;
import java.util.logging.LogRecord;
import java.util.logging.Logger;

public class LoggingExample {
private static Logger logger = Logger.getLogger("test");

static {
try {
logger.setLevel(Level.INFO);

Formatter formatter = new Formatter() {

@Override
public String format(LogRecord arg0) {
StringBuilder b = new StringBuilder();
b.append(new Date());
b.append(" ");
b.append(arg0.getSourceClassName());
b.append(" ");
b.append(arg0.getSourceMethodName());
b.append(" ");
b.append(arg0.getLevel());
b.append(" ");
b.append(arg0.getMessage());
b.append(System.getProperty("line.separator"));
return b.toString();
}

};

Handler fh = new FileHandler("test.txt");
fh.setFormatter(formatter);
logger.addHandler(fh);

Handler ch = new ConsoleHandler();
ch.setFormatter(formatter);
logger.addHandler(ch);

LogManager lm = LogManager.getLogManager();
lm.addLogger(logger);
} catch (Throwable e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
logger.info("why does my test application use the standard console logger ?\n" + " I want only my console handler (Handler ch)\n " + "how can i turn the standard logger to the console off. ??");
}
}

最佳答案

就这么做

LogManager.getLogManager().reset();

关于java - 在使用 java 日志记录 API 时,如何禁用默认控制台处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32002371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com