Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 测井系统的桥接器_Java_Logging - Fatal编程技术网

Java 测井系统的桥接器

Java 测井系统的桥接器,java,logging,Java,Logging,我正在开发简单的Java事件库,我想支持多个日志系统。 我有一个使用自己的名为LoggerBridge的类的想法 public void setLogger(LoggerBridge bridge){ } public class LoggerBridge{ public void log(Level, String){} ... } 但是这个解决方案根本不实用,有没有其他的选择来实现这个结果? 一些桥接,它支持所有类型的日志记录系统?这是一个由来已久的问题,我们制作

我正在开发简单的Java事件库,我想支持多个日志系统。 我有一个使用自己的名为LoggerBridge的类的想法

public void setLogger(LoggerBridge bridge){

}

public class LoggerBridge{

    public void log(Level, String){}

    ...

}
但是这个解决方案根本不实用,有没有其他的选择来实现这个结果?
一些桥接,它支持所有类型的日志记录系统?

这是一个由来已久的问题,我们制作了一些日志外观,允许您登录到例如库中的内容,而不强制用户使用您选择的同一个日志记录框架(或尝试使多个日志记录框架协同工作)

其中最早的一个是被认为是过时的,但现在有很多旧的图书馆使用它。它可以连接到实际的日志系统(见下文)

较新的包括。在编写库时应该使用这些函数,因此您应该使用SLF4JAPI编程,而不是实际的日志记录实现


A是指当您有一个库使用例如
log4J
,而您的另一个代码使用的是
SLF4J
(相当常见的组合)。桥接器“伪造”为
log4J
库,实际上只是将日志重定向到您的
SLF4J+Logback
组合。

他们已经制作了这些,例如使用
SLF4J
。不要自己写。你到底想达到什么目的?对我来说,使用
Level
s的想法听起来不错,实际上其他记录器库也是这么做的(例如
Log4j
)。您需要更精确地说明您想要实现什么,以及为什么您当前的解决方案不能满足您的要求。@mko他不是要重新发明一个记录器,他是要重新发明一个日志外观。此外,如果您重视良好的日志记录,请不要使用(或建议他人使用)
java.util.logging
“我想支持多个日志记录系统”,因此您需要一个适配器,例如,已由实现的适配器。@Kayaman您的评论应该是答案。没有理由重新设计日志外观。