1. 程式人生 > >在專案中指定log4j.xml的位置

在專案中指定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

</value>
</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>