JavaLogger不会打印任何要控制的东西

问题描述 投票:0回答:4

然后在我的方法中我使用它(示例):

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对象可以很好地使用。结帐
java logging
4个回答
29
投票

 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文件吗?

在一个全新的Eclipse项目中,这似乎对我有用。

 LOGGER.log(Level.FINEST, "finest");


2
投票

没有显示什么都没有显示的,因为Logger上没有名称myClass.class.getName();

1
投票
但默认情况下,

子loggerinstance

。此处理程序是consolehandler,具有log Level lage lake
Info
.

易于验证:eclipse console 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(); } }


1
投票

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一起使用它时,它不再显示了。我现在丢失了我不能在那里调试吗?

	

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.