logger.debug
和之间有什么区别logger.info
?
什么时候logger.debug
打印?
logger.debug
和之间有什么区别logger.info
?
什么时候logger.debug
打印?
Answers:
这将取决于日志记录配置。默认值取决于所使用的框架。这样做的想法是,稍后通过将配置设置从INFO更改为DEBUG,您将看到大量(而不是相反)打印的行,而无需重新编译整个应用程序。
如果您考虑使用哪个,则可以归结为想在哪个级别上查看的内容。对于Log4J中的其他级别,请查看API,http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html
我建议您看一下名为“ log4j的简短介绍”的文章。。它包含对日志级别的简短说明,并演示了如何在实践中使用它们。日志级别的基本思想是,您希望能够根据情况配置日志包含的详细信息的数量。例如,如果您尝试对问题进行故障排除,则希望日志非常详细。在生产中,您可能只想查看警告和错误。
系统每个组件的日志级别通常是通过配置文件中的参数控制的,因此很容易更改。您的代码将包含不同级别的各种日志记录语句。回应时Exception
,您可以致电Logger.error
。如果要在任何给定点打印变量的值,可以调用Logger.debug
。程序中可配置的日志记录级别和日志记录语句的结合使您可以完全控制应用程序如何记录其活动。
至少对于log4j,日志级别的顺序为:
DEBUG < INFO < WARN < ERROR < FATAL
这是该文章中的一个简短示例,展示了日志级别的工作方式。
// get a logger instance named "com.foo"
Logger logger = Logger.getLogger("com.foo");
// Now set its level. Normally you do not need to set the
// level of a logger programmatically. This is usually done
// in configuration files.
logger.setLevel(Level.INFO);
Logger barlogger = Logger.getLogger("com.foo.Bar");
// This request is enabled, because WARN >= INFO.
logger.warn("Low fuel level.");
// This request is disabled, because DEBUG < INFO.
logger.debug("Starting search for nearest gas station.");
// The logger instance barlogger, named "com.foo.Bar",
// will inherit its level from the logger named
// "com.foo" Thus, the following request is enabled
// because INFO >= INFO.
barlogger.info("Located nearest gas station.");
// This request is disabled, because DEBUG < INFO.
barlogger.debug("Exiting gas station search");
If you want to print the value of a variable at any given point, you might call Logger.debug
帮助我阐明了我Debug
与Trace
水平之间的困惑。谢谢!
Trace
日志级别。