在專案中指定log4j.xml的位置
一、預設位置
1、專案會預設在classpath目錄下讀取log4j.xml或log4j.properties。
二、在程式碼中指定
1、try {
Log4jConfigurer.initLogging("file:/opt/app/config/log4j.xml");
Log4jConfigurer.initLogging
} catch (FileNotFoundException e) {e.printStackTrace();
}
三、在spring配置檔案中指定
1、web專案---在web.xml中指定
a、在pom.xml中新增依賴
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.13</version>
</dependency>
b、在web.xml中新增log4j監聽及log4j.xml配置檔案的位置
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>file:opt/app/config/log4j.xml</param-value>
</context-param>
2、普通專案---在applicationContext.xml中指定
<bean id="log4jInitializer"
class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
<property name="targetMethod" value="initLogging" />
<property name="arguments">
<list>
<value>file:/opt/app/config/log4j.xml
</list>
</property>
</bean>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>WEB-INF/log4j.xml</param-value>
</context-param>
<!-- 載入Spring框架中的log4j監聽器Log4jConfigListener -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
pom.xml
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.13</version>
</dependency>