我想在我的gui中有两个输出记录器。此代码正确输出到每个文件。
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中测试相同的两行时,它不再起作用了。我对记录器的解释是错误的还是我做错了什么?
相反,如果我在main中使用以下行(因此我从字符串中删除了myApp),那么记录器在整个应用程序中都能正常工作,但所有内容都只转到一个文件。
Logger.getLogger("").addHandler(handler);
P.S。如果我能提供帮助,我不想使用第三方课程。
答案 0 :(得分:1)
您需要将Logger.getLogger()返回的Logger分配给Logger对象,如下所示:
Logger log = Logger.getLogger("myApp");
然后使用日志工作。否则Logger.getLogger()将始终返回一个新实例。