Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Log4j 2记录约定_Java_Logging_Log4j_Log4j2 - Fatal编程技术网

Java 使用Log4j 2记录约定

Java 使用Log4j 2记录约定,java,logging,log4j,log4j2,Java,Logging,Log4j,Log4j2,我刚开始研究log4j2.0。看一下用户指南,似乎已经实现了一些新的东西,我现在有点困惑什么时候应该使用它们。主要的例子是流量记录 公共类日志测试{ 公共静态void main(最终字符串[]args){ logger.entry(); doTest(“价值”); 试一试{ doTest(空); } 捕获(最终异常e){ b.捕捉(e); } logger.exit(); } 私有静态void doTest(最终字符串值){ logger.entry(); 如果(值==null){ 最终异常e=

我刚开始研究log4j2.0。看一下用户指南,似乎已经实现了一些新的东西,我现在有点困惑什么时候应该使用它们。主要的例子是流量记录

公共类日志测试{
公共静态void main(最终字符串[]args){
logger.entry();
doTest(“价值”);
试一试{
doTest(空);
}
捕获(最终异常e){
b.捕捉(e);
}
logger.exit();
}
私有静态void doTest(最终字符串值){
logger.entry();
如果(值==null){
最终异常e=新的IllegalArgumentException(
“值不得为空”);
投掷(e);
}
系统输出打印项次(值);
logger.exit();
}
}

我的问题是,我是否以预期的方式使用logger.throwing()和logger.catching()。请注意,如果在许多地方使用
entry()
exit()
,则结果消息很难区分,除非在模式布局中启用位置信息(使用%location等)。不过,这会对性能产生重大影响,所以要小心


至于
catching()
throwing()
方法,与
logger.error(throwable)相比,您是否更喜欢这些方法可能是一个品味问题

使用logger.error(throwable)和catching()和throwing()方法之间是否存在性能差异?
catching()
在错误级别记录日志,但在日志事件上额外设置了
AbstractLogger.catching\u标记。类似地,
throwing()
设置
AbstractLogger.throwing\u标记。另见