Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/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记录器Spring_Java_Jakarta Ee - Fatal编程技术网

Java记录器Spring

Java记录器Spring,java,jakarta-ee,Java,Jakarta Ee,我想使用记录器并设置其属性,但不想在每个对象类记录器中创建我的目标是: 在Spring中创建一个bean,创建属性文件我如何使用注释,是否可以这样做?是的,您可以这样做 <bean id="log" class="org.apache.log4j.Logger" factory-method="getRootLogger"/> <bean id="app" class="com.App" > <property name="logger" ref="log

我想使用记录器并设置其属性,但不想在每个对象类记录器中创建我的目标是: 在Spring中创建一个bean,创建属性文件我如何使用注释,是否可以这样做?

是的,您可以这样做

<bean id="log" class="org.apache.log4j.Logger" factory-method="getRootLogger"/>

<bean id="app" class="com.App" >
    <property name="logger" ref="log"/>
</bean>

使用基本spring DI

时,为每个类(而不是每个对象)创建一个记录器的目的是在运行时启用细粒度配置。是什么阻止了你遵循良好的实践?我需要更改logger的属性,我的意思是在控制台等上禁用输出,所以我有很多类,并且在每个类中都声明了它愚蠢的私有静态最终logger logger=logger.getLogger(Class.Class.getName());1) 日志接收器配置应由维护人员通过配置控制,而不是由代码开发人员通过编程控制。2) 在每个类中仍然有一行代码。但是spring上下文中的查找比LogginFactory.getLogger更脆弱。
App bean = new ClassPathXmlApplicationContext("app.xml").getBean(App.class);