java - 使用 Log4j 2 的日志记录约定

标签 java logging log4j log4j2

我刚刚开始研究 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(),除非您在模式布局中启用位置信息(使用 %位置等)。不过,这会对性能产生重大影响,因此请注意。

至于 catching()throwing() 方法,您是否更喜欢这些方法而不是 logger.error(throwable );

关于java - 使用 Log4j 2 的日志记录约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23464910/

相关文章:

json - 使用命令 sed 更改日志文件日期?

javascript - 无法理解 meteor 中的 MUP 错误

java - 自定义位置中的 Log4j 属性

java - Processbuilder 在执行批处理脚本时挂起

java - 将 RGBA、HSL 和 HSLA 颜色转换为 RGB(或在 java.awt.Color 对象中)

java - 如何将Java代码转换成Matlab

ruby-on-rails - 如何在Rails 3中获取当前方法?

java - 登录 Web 应用程序 : Best practices?

java - 将来自不同包的日志消息记录到不同的文件中

java - 从 Tomcat 9 到客户端的 Websocket 二进制消息拆分为 2 个或更多 tcp 数据包