我在哪里可以看到我的程序中的日志

时间:2012-07-10 05:12:05

标签: java logging

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

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

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

4 个答案:

答案 0 :(得分: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。

答案 1 :(得分:1)

默认情况下,java.util.logging.Logger将输出发送到控制台,不会打印到文件。您必须向记录器添加java.util.logging.Handler。 下面是创建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);
    }
} 

如需进一步参考,请阅读此article

答案 2 :(得分:0)

检查log4j配置文件,该文件将包含更新日志的位置的路径。 Check this for reference

答案 3 :(得分: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

来自here