Java 仅在调试模式下可抛出日志
Java log throwable only in debug mode
我只想在日志级别处于调试模式时使用throwable生成日志。
我的方法是
try {
// ...
} catch (Exception e){
if(logger.isDebugEnabled()){
logger.warn("ERR Occurs", e);
} else {
logger.warn("ERR Occurs");
}
}
但是很难更改我所有的代码并且很难一眼看到代码
还有其他选择吗?
有一个更简单的一行相当于你自己的:
logger.warn("ERR Occurs", logger.isDebugEnabled() ? e : null);
如果不想覆盖日志记录,您可以考虑将三元运算符打包为简单的静态方法logEx(e)
class。
但是:隐藏异常不是一个好主意 - 特别是在不处于调试模式时,因此您最好解决导致异常的条件并将日志记录保留为:
logger.warn("ERR Occurs", e);
我只想在日志级别处于调试模式时使用throwable生成日志。
我的方法是
try {
// ...
} catch (Exception e){
if(logger.isDebugEnabled()){
logger.warn("ERR Occurs", e);
} else {
logger.warn("ERR Occurs");
}
}
但是很难更改我所有的代码并且很难一眼看到代码
还有其他选择吗?
有一个更简单的一行相当于你自己的:
logger.warn("ERR Occurs", logger.isDebugEnabled() ? e : null);
如果不想覆盖日志记录,您可以考虑将三元运算符打包为简单的静态方法logEx(e)
class。
但是:隐藏异常不是一个好主意 - 特别是在不处于调试模式时,因此您最好解决导致异常的条件并将日志记录保留为:
logger.warn("ERR Occurs", e);