然后在我的方法中我使用它(示例):
LOGGER.log(Level.FINE, "Testing");
LOGGER.info("More testing...");
...
} catch(Exception e) {
LOGGER.log(Level.SEVERE, e.toString(), e);
}
但没有任何印刷到控制台。它是保存在某个地方的文件中还是我只是错误地使用它?
我正在将Eclipse Mars 2与Java 1.6.0_22使用。
eDit:我正在使用
java.util.logging.Logger
there是您应该知道的,
java.util.Logging
由jre/lib文件夹中的root logger文件控制,称为default to Level.info。
logging.properties
现在您可以使用logger对象可以很好地使用。结帐
private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName());
Handler handlerObj = new ConsoleHandler();
handlerObj.setLevel(Level.ALL);
LOGGER.addHandler(handlerObj);
LOGGER.setLevel(Level.ALL);
LOGGER.setUseParentHandlers(false);
记住,是有原因设置为罚款的原因,因此,降低级别也可以从核心库中打印不必要的信息。让我知道它是否有帮助。列道格拉斯
我的假设是您正在使用log4j。如果是正确的,则默认情况下应将记录器保存到文件中,而不打印到控制台(通常使用System.out.println(“ Message”))。您有log4j.properties文件吗?
LOGGER.log(Level.FINEST, "finest");
没有显示什么都没有显示的,因为Logger上没有名称myClass.class.getName();
子loggerinstance
。此处理程序是consolehandler,具有log Level lage lakeInfo.
。
易于验证:
import java.util.logging.Logger;
public class Foobar {
public static final Logger LOGGER = Logger.getLogger(Foobar.class.getName());;
public Foobar() {
LOGGER.info("Constructed");
}
public static void main(String[] args) {
new Foobar();
}
}
public class StackAnswerAboutLogger {
private static final Logger LOGGER = Logger.getLogger(StackAnswerAboutLogger.class.getName());
private static final Logger PARENT_LOGGER = Logger.getLogger("");
public static void main(String[] args) {
LOGGER.info("Count of LOGGER handlers: " + Integer.toString(LOGGER.getHandlers().length));
LOGGER.info("Count of PARENT_LOGGER handlers: " + Integer.toString(LOGGER.getHandlers().length));
Handler defaultConsoleHandler = PARENT_LOGGER.getHandlers()[0];
LOGGER.info("Default Console Handler Log Level: " + defaultConsoleHandler.getLevel().toString());
}
}
要使用任何级别显示日志,您可以配置parent_logger处理程序或logger。
Jan 10, 2020 10:23:53 PM init.StackAnswerAboutLogger main
INFO: Count of LOGGER handlers: 0
Jan 10, 2020 10:23:54 PM init.StackAnswerAboutLogger main
INFO: Count of PARENT_LOGGER handlers: 0
Jan 10, 2020 10:23:54 PM init.StackAnswerAboutLogger main
INFO: Default Console Handler Log Level: INFO
输出:
Handler defaultConsoleHandler = PARENT_LOGGER.getHandlers()[0];
LOGGER.info("Default log level of PARENT_LOGGER: " +PARENT_LOGGER.getLevel().toString());
LOGGER.info("Default Console Handler Log Level: "+defaultConsoleHandler.getLevel().toString());
defaultConsoleHandler.setLevel(Level.ALL);
PARENT_LOGGER.setLevel(Level.ALL);
LOGGER.log(Level.FINEST, "here is finest log");
LOGGER.log(Level.SEVERE, "here is severe log");
我正在与Servlet一起使用(tomcat Server语言是Java)。当我在单独的Java文件中测试记录器时,它可以正常工作,但是当我尝试与Servlet一起使用它时,它不再显示了。我现在丢失了我不能在那里调试吗?