gpt4 book ai didi

java - 在 Java 中跨类实现 Logger 的标准方法?

转载 作者:搜寻专家 更新时间:2023-11-01 03:37:25 25 4
gpt4 key购买 nike

我正在构建一个包含许多类的 Javafx 应用程序。我想使用所有类的 java 日志记录。但是所有选项似乎都带有过多或重复的代码。这些是我能想到的:

  1. 在每个类中将 Logger 声明为私有(private)静态最终字段,即

    private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName());

这个选项似乎有点烦人,必须在每个类(class)都这样做。

  1. 将记录器从主类传递给每个构造函数

又显得不优雅

  1. 为记录器创建一个类,然后为每个日志项调用该类的静态方法。似乎只为记录器创建一个额外的类是多余的。

那么你们是如何处理这种情况的呢?是否只是选择最不坏的选项的问题?

最佳答案

选项 1 加上选项 3(就像人们提到的使用像 slf4j 这样的包装器),这将允许在实现之间切换被广泛使用。

declare Logger as a private static final field in each class i.e.

private static final Logger LOGGER = Logger.getLogger(MyClass.class.getName());

声明记录器没什么大不了的,您应该能够在 IDE 中定义一个自动生成记录器代码的新类模板。

关于java - 在 Java 中跨类实现 Logger 的标准方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26600757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com