Sen*_*han 72 java logging log4j
logger.debug
和之间有什么区别logger.info
?
什么时候logger.debug
打印?
Wil*_*del 114
我建议你看一下名为"log4j简介"的文章.它包含对日志级别的简短说明,并演示了如何在实践中使用它们.日志级别的基本思想是,您希望能够根据情况配置日志包含的详细信息.例如,如果您尝试解决问题,则希望日志非常详细.在生产中,您可能只希望看到警告和错误.
系统中每个组件的日志级别通常通过配置文件中的参数进行控制,因此很容易更改.您的代码将包含不同级别的各种日志记录语句.回复时Exception
,你可以打电话Logger.error
.如果要在任何给定点打印变量的值,可以调用Logger.debug
.程序中的可配置日志记录级别和日志记录语句的这种组合允许您完全控制应用程序记录其活动的方式.
至少在log4j的情况下,日志级别的顺序是:
DEBUG < INFO < WARN < ERROR < FATAL
Run Code Online (Sandbox Code Playgroud)
以下是该文章的一个简短示例,演示了日志级别的工作原理.
// 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");
Run Code Online (Sandbox Code Playgroud)
too*_*asr 25
这取决于日志记录配置.默认值取决于所使用的框架.我们的想法是,稍后通过将配置设置从INFO更改为DEBUG,您将看到更多(或更少,如果反过来)行打印而不重新编译整个应用程序.
如果您认为使用哪一个,那么它可以归结为您想要在哪个级别上查看.对于其他级别,例如在Log4J中查看API,http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html
小智 10
只是澄清所有可能级别的集合,即:
ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF
Run Code Online (Sandbox Code Playgroud)
基本上,它取决于您的记录器的配置方式.通常,您在开发期间写出了调试输出,但在生产中关闭了调试输出 - 或者可能在调试特定区域时选择了调试类别.
具有不同优先级的关键是允许您以合理细粒度的方式上调/下调特定组件的详细程度 - 并且只需要更改日志记录配置(而不是代码)以查看差异.
这是一个非常古老的问题,但我在这里看不到我的理解,所以我将添加我的 2 美分:
每个级别对应/映射到一种用户类型:
归档时间: |
|
查看次数: |
175214 次 |
最近记录: |