gpt4 book ai didi

log4j 记录器和 java.util.logging 的 java 包装器

转载 作者:行者123 更新时间:2023-12-01 19:24:53 25 4
gpt4 key购买 nike

我正在写一个库。该库可供使用 log4j 记录器和 java.util.logging 记录器的应用程序使用。

因此,我编写了一个快速包装类,它封装了两个记录器。我允许应用程序设置一个或两个记录器。在我的库中,我使用封装的类来打印到任一记录器。

我的问题是,由于许多线程可以同时使用包装类的同一实例来使用类的方法(例如:下面的 fatal())记录消息,因此应该采取哪些步骤来使这些方法线程安全?

public class MultiLogger {
private static org.apache.log4j.Logger _log4jLogger = null;
private static java.util.logging.Logger _javaUtilLogger = null;

private MultiLogger () {
}

// log4j FATAL, log util SEVERE
public void fatal (Object message) {
if (_log4jLogger != null) {
_log4jLogger.log("", Level.FATAL, message, null);
}

if (_javaUtilLogger != null) {
_javaUtilLogger.severe((String) message);
}
}
...
}

任何其他评论也表示赞赏。

最佳答案

选项 1:slf4j,根据问题评论。

选项 2:cxf.apache.org 中有这样的设备。我们使用它代替 slf4j,因为 slf4j 缺乏国际化支持。欢迎您获取代码。

关于log4j 记录器和 java.util.logging 的 java 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1767716/

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