java - 创建了 2 个记录器。它们如何关联?

标签 java java.util.logging

我正在尝试使用 java.utils.logging.. 我有这两个文件 MyLogger 和 UseLogger.MyLogger 使用文件处理程序设置记录器.. UseLogger写入日志。 这是两个文件..

package UtilsLogging;

import java.util.logging.Level;
import java.util.logging.Formatter;
import java.util.logging.SimpleFormatter;
import java.util.logging.Logger;
import java.util.logging.FileHandler;
import java.io.IOException;

/* Setting the logger up.
 * Create logger,define its level.
 * Create a file handler,mention the formatter,add handler to the logger
 */

public class MyLogger {

    static private SimpleFormatter sf;
    static private FileHandler txtLogFile;

    public static void setup() throws IOException{
        Logger logger = Logger.getLogger("");
        logger.setLevel(Level.INFO);
        sf = new SimpleFormatter();

        txtLogFile = new FileHandler("mytxtlog.txt");
        txtLogFile.setFormatter(sf);
        logger.addHandler(txtLogFile);
    }

}

package UtilsLogging;

import java.io.IOException;
import java.util.logging.Logger;
import java.util.logging.Level;

public class UseLogger {

    private static final Logger lgr = Logger.getLogger(MyLogger.class.getName());

    public void writeToLog(){
    lgr.setLevel(Level.SEVERE);
    lgr.info("info1");

    lgr.setLevel(Level.INFO);
    lgr.severe("severe2");

    }

    public static void main(String[] args){
        UseLogger ul = new UseLogger();
        try{
            MyLogger.setup();
        }
        catch(IOException ie){
            ie.printStackTrace();
        }

        ul.writeToLog();
    }
}

我不明白的是这个..调用 MyLogger.setup() 后,我说 ul.writeToLog() 正在写入文件 mytxtlog.txt。我是否没有在两个文件中创建两个不同的记录器。UseLogger 中的记录器如何无法将其自身关联到 MyLogger 中完成的记录器设置。Logger.GetLogger("") 是否必须对我的问题执行某些操作? 我尝试阅读此内容,但我的问题仍未得到解答..

最佳答案

下面的调用为您提供根记录器。

记录器logger = Logger.getLogger("");

根记录器是每个记录器的父记录器。因此,如果您没有为特定记录器设置日志记录级别或处理程序,它将递归地从父记录器(如果设置)或根记录器(默认情况下)继承它。

关于java - 创建了 2 个记录器。它们如何关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14323896/

相关文章:

java - Commons 日志记录以使用 java.util.logging

java - 如何在阔叶开源中设置简单的分页?

java - Hibernate Validator、自定义 ResourceBundleLocator 和 Spring

Java值总是为空?

java - 如何从 2 行 java.util.logging 输出中抑制日期行?

java - WebSphere - 无法加载 Logmanager "org.apache.logging.log4j.jul.LogManager"

java - 我如何使用 Oauth2.0 从 Google Plus API 获取联系人

java - 智能 : recognize a spring configuration file in jar

java - 如何关闭线程中的FileHandlers?

gwt - Java GWT remoteLoggingServlet - 我可以配置 java.util.Logging 以将其发送到日志文件吗?