簡體   English   中英

如何使用Java本機Logger?

[英]How do I use the Java native Logger?

如何在不使用外部庫(例如log4j)的情況下使用java.util.Logger類,並將日志打印到文件中? 我想使用屬性文件中記錄器的格式化程序和參數。

import java.io.IOException;
import java.io.InputStream;
import java.util.logging.LogManager;

public class LoggerConfiguration {

    private static final LogManager logManager = LogManager.getLogManager();

    /*
     * Java static block always loads before constructors
     */
    static {
        try {
            InputStream inputStream = 
                ClassLoader.class.getResourceAsStream("/logger.properties");

            logManager.readConfiguration(inputStream);

        } catch (IOException exception) {
            exception.printStackTrace();
        }
    }
}

logger.properties文件示例內容

.level=ALL
java.util.logging.ConsoleHandler.level=ALL
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
confLogger.level=ALL

java.util.logging.FileHandler.pattern=%h/my-application%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

handlers=java.util.logging.ConsoleHandler,java.util.logging.FileHandler 

使用記錄器的示例類:

import java.util.logging.Logger;

public class ExampleClass {

    private final static Logger LOG = Logger.getLogger(ExampleClass.class.getName());

    public static void main(String args[]) {
        LOG.info("an info message");

        new ExampleClass();
    }

    public ExampleClass() {
        LOG.info("one more message"); 
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM