【发布时间】:2014-10-05 00:14:40
【问题描述】:
什么时候应该使用低于日志级别?如果有任何例子会很棒。
- 跟踪与调试
- 警告与错误与致命
警告VS错误VS致命
首先我需要在我的应用程序代码中使用 FATAL 吗?
我从未见过 FATAL 记录到我目前从事的项目中的任何代码。
我已经读过,万一致命程序将结束。如果是这种情况,我想知道我的日志语句将如何执行。
另外,我认为在内存分配的情况下不能使用FATAL,因为JVM会抛出内存异常并退出程序。因此开发人员无法记录任何内容。如果这是正确的,那么我将在哪里使用 FATAL?
对于错误和警告: 在 catch 块中,如果我没有备用逻辑(用于错误条件)执行,我将去记录错误级别的异常,异常将转换为用户特定并显示在屏幕上。
同时,当我们有异常逻辑的备用流/路径时,将使用警告。
用于调试 这将验证抛出异常的内容和位置。什么是导致错误的数据。因此,这可以在代码的复杂逻辑之前和之后使用。
如果我的理解正确,请告诉我
示例:
class myLogLevel{
void method1( int empId)
{
log.trace("method1 starting") ;
try{
log.info("befor getting data from DB");
log.debug("executing the value for emp id : " + empId );
//DBConnection and code here
} catch (Exception1 e1) {
log.warn("record not found. So assigning default value");
// Code logic to assign default value
}
catch (Exception1 e1) {
// Due to DB connection error. Connection nor established
log.error("DB connection not established");
}
log.trace("method1 ending") ;
}
}
【问题讨论】:
-
对此有何想法?