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 CDI:静态记录器与注入?_Java_Logging_Jakarta Ee_Dependency Injection_Cdi - Fatal编程技术网

Java CDI:静态记录器与注入?

Java CDI:静态记录器与注入?,java,logging,jakarta-ee,dependency-injection,cdi,Java,Logging,Jakarta Ee,Dependency Injection,Cdi,免责声明:此问题并非“基于意见”。我正在寻找强有力的优点和缺点 在CDI应用程序中,更常规和更适合使用的是:静态记录器: 私有静态最终记录器Logger=LoggerFactory.getLogger。。。; 或者说有一个特定的制作人? @注入 私人记录器; 前者的一个优点是,我们可以创建自己的LoggerFactory包装(出于某些目的)并在所有地方使用它,而不必担心有人滥用了另一个工厂。但是这种方法还有其他缺点/优点吗?更“规范化”的是什么?请注意,单个记录器实例的作用域通常为编写日

免责声明:此问题并非“基于意见”。我正在寻找强有力的优点和缺点

在CDI应用程序中,更常规和更适合使用的是:静态记录器:

私有静态最终记录器Logger=LoggerFactory.getLogger。。。;

或者说有一个特定的制作人?

@注入
私人记录器;


前者的一个优点是,我们可以创建自己的LoggerFactory包装(出于某些目的)并在所有地方使用它,而不必担心有人滥用了另一个工厂。但是这种方法还有其他缺点/优点吗?更“规范化”的是什么?

请注意,单个记录器实例的作用域通常为编写日志的特定类,注入单例记录器会破坏通常用于过滤日志输出的信息。@chrylis它不会是单例记录器,因为可以设计生产者,因此它将尊重从注入点获取的类名。如您所说,防止误用其他工厂。它为执行我们的策略创建了一个单点,减少了样板代码。它包含了使资源可注入的所有好处“它将尊重从注入点获取的类名”意味着您可以创建某种框架代码。注入点解释并非一直都在进行。所以您应该知道,您可能对私有框架代码有额外的依赖性。