gpt4 book ai didi

java - 如何在java中使用不同的输出记录器文件?

转载 作者:行者123 更新时间:2023-12-01 13:36:53 27 4
gpt4 key购买 nike

我试图在我的图形用户界面中有两个输出记录器。此代码正确输出到每个文件。

public static void main(String[] args) {
try {
Handler handler = new FileHandler("OutFile.log");
Logger.getLogger("myApp").addHandler(handler);
Logger.getLogger("myApp").setUseParentHandlers(false);
Handler handler2 = new FileHandler("User.log");
handler2.setFormatter(new SimpleFormatter());
Logger.getLogger("User").addHandler(handler2);
Logger.getLogger("User").setUseParentHandlers(false);


Logger.getLogger("myApp").severe("AppStarting");
Logger.getLogger("User").severe("UserLogStarting");

但是之后当我在 gui 中测试相同的两行时,它不再起作用了。我对记录器的解释是错误的还是我做错了什么?

相反,如果我在主文件中使用以下行(因此我从字符串中删除了 myApp),那么记录器可以在整个应用程序中完美运行,但所有内容都只发送到一个文件。

    Logger.getLogger("").addHandler(handler);

附注如果可以的话,我不想使用第三方类。

最佳答案

您需要将 Logger.getLogger() 返回的 Logger 分配给 Logger 对象,如下所示:

Logger log = Logger.getLogger("myApp");

然后使用日志来工作。否则 Logger.getLogger() 将始终返回一个新实例。

关于java - 如何在java中使用不同的输出记录器文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206303/

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