java-使用Log4j 2记录日志

我刚刚开始研究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);可能是一个问题.

上一篇:小白的springboot之路(十二)、集成log4j2日志


下一篇:java-log4j2 Web查找不起作用