在 Spring MVC 中外部化 logback.xml
Externalize logback.xml in Spring MVC
我使用 SL4J 登录我的 Java Spring MVC Web 应用程序。我在 /src/main/resources
下有 logback.xml
文件。在我的 pom.xml
文件中,我有以下与日志记录相关的内容:
<properties>
<org.slf4j-version>1.6.4</org.slf4j-version>
<logback.version>1.0.1</logback.version>
</properties>
以及以下依赖项:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<!-- logback -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
</dependencies>
现在日志记录对我来说工作正常。但现在我试图将 logback.xml
文件移到 war 文件之外,这样我就不必更改 war 文件来更改日志记录级别。我试图将文件移动到 ${catalina.base}/conf/
。我无法找到一种方法来指定文件的路径,即 ${catalina.base}/conf/logback.xml。我发现了几个类似的问题,但我找不到可以使用的解决方案:
和
logback externalization。有什么方法可以将文件移动到 tomcat 下的 conf 文件夹下并指定其路径,以便我可以将此 logback.xml
保留在 war 文件
之外
将日志记录属性放在 tomcat 配置文件夹中不是个好主意。最好将它放在应用程序 folder/war.
中
但是有一种方法可以通过在 spring 应用程序属性文件中设置 属性 从外部目录定位 logback.xml
。
例如在application.properties
中添加
logging.config=file:/home/user/tomcat/conf/logback.xml
我使用 SL4J 登录我的 Java Spring MVC Web 应用程序。我在 /src/main/resources
下有 logback.xml
文件。在我的 pom.xml
文件中,我有以下与日志记录相关的内容:
<properties>
<org.slf4j-version>1.6.4</org.slf4j-version>
<logback.version>1.0.1</logback.version>
</properties>
以及以下依赖项:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<!-- logback -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
</dependencies>
现在日志记录对我来说工作正常。但现在我试图将 logback.xml
文件移到 war 文件之外,这样我就不必更改 war 文件来更改日志记录级别。我试图将文件移动到 ${catalina.base}/conf/
。我无法找到一种方法来指定文件的路径,即 ${catalina.base}/conf/logback.xml。我发现了几个类似的问题,但我找不到可以使用的解决方案:
logback.xml
保留在 war 文件
将日志记录属性放在 tomcat 配置文件夹中不是个好主意。最好将它放在应用程序 folder/war.
中但是有一种方法可以通过在 spring 应用程序属性文件中设置 属性 从外部目录定位 logback.xml
。
例如在application.properties
中添加
logging.config=file:/home/user/tomcat/conf/logback.xml