我刚刚开始研究Log4j 2.0.查看用户指南,似乎已经实现了一些新功能,目前我对应该何时使用感到有些困惑.主要示例是流日志记录.
public class LogTest {
public static void main(final String[] args) {
logger.entry();
doTest("value");
try {
doTest(null);
}
catch (final Exception e) {
logger.catching(e);
}
logger.exit();
}
private static void doTest(final String value) {
logger.entry();
if (value == null) {
final Exception e = new IllegalArgumentException(
"value must not be null");
throw logger.throwing(e);
}
System.out.println(value);
logger.exit();
}
}
我的问题是,我是否按预期方式使用logger.throwing()和logger.catching()?
解决方法:
是的,看起来正确.请注意,如果您在许多地方使用entry()和exit(),除非您在模式布局中启用位置信息(使用%location等),否则很难区分所得到的消息.但是,这会对性能产生重大影响,因此请注意.
至于catching()和throwing()方法,是否喜欢使用这些方法而不是logger.error(throwable);可能是一个问题.
标签:logging,log4j,log4j2,java 来源: https://codeday.me/bug/20191121/2054342.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。