1

我正在使用默认java.util.Logging API将信息打印到我的日志中。

Logger.getLogger(Datastore.class.getName());
logger.info("Registering ");

其中 Datastore 是类的名称。但我无法找到日志的存储位置。我在 Windows 7 机器上运行,上面的程序是 servlet 的一部分。我为这个看似愚蠢的问题道歉,但有时这种微不足道的事情会极大地阻碍进展。

4

4 回答 4

1

您可以向 Logger 添加一个处理程序,以指定日志的位置。

Handler handler = new FileHandler("DataStore.log");
Logger logger = Logger.getLogger(Datastore.class.getName());
logger.addHandler(handler);
logger.info("Registering ");

记录器仅创建日志对象,但实际显示它的是处理程序。处理程序可以是从Handler定义的任何子类。如果您使用 FileHandler,您应该阅读FileHandler的 Java API 。

于 2012-07-10T05:23:46.600 回答
1

默认情况下,java.util.logging.Logger发送输出到控制台并且不打印到文件中。您必须向java.util.logging.HandlerLogger 添加一个。下面是创建 HTML 处理程序的片段,TEXTFILE。希望这可以帮助。

package logging;

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

public class MyLogger {
    static private FileHandler fileTxt;
    static private SimpleFormatter formatterTxt;

    static private FileHandler fileHTML;
    static private Formatter formatterHTML;

    static public void setup() throws IOException {
        // Create Logger
        Logger logger = Logger.getLogger("");
        logger.setLevel(Level.INFO);
        fileTxt = new FileHandler("Logging.txt");
        fileHTML = new FileHandler("Logging.html");

        // Create txt Formatter
        formatterTxt = new SimpleFormatter();
        fileTxt.setFormatter(formatterTxt);
        logger.addHandler(fileTxt);

        // Create HTML Formatter
        formatterHTML = new MyHtmlFormatter();
        fileHTML.setFormatter(formatterHTML);
        logger.addHandler(fileHTML);
    }
} 

如需进一步参考,请阅读本文

于 2012-07-10T05:41:27.397 回答
0

检查 log4j 配置文件,该文件将包含更新日志位置的路径。检查此以供参考

于 2012-07-10T05:18:36.383 回答
0

如果您没有 log4j 配置文件(假设 Logger 来自 log4j),事情会变得非常安静。

对于初学者,请尝试在 classes 目录的根目录中添加属性文件,例如:

# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1

# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender

# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n

来自这里

于 2012-07-10T05:24:51.513 回答