如何用spring设置logback文件路径?

时间:2014-01-10 12:53:39

标签: spring java-ee logback

我有使用Spring和Logback的JavaEE应用程序。

我希望能够在application.properties文件(存储Spring属性)中设置日志文件路径。

${path.to.log.file}中设置属性logback.xml不起作用(这是可以理解的)。有什么好办法呢?

2 个答案:

答案 0 :(得分:1)

基于Spring reference文档:

  1. 确保从Spring依赖项中排除commons-logging。请注意,这种排除可能发生在Spring的多个模块中。
  2. 假设您使用的是SLF4J,请确保在依赖项中包含jcl-over-slf4j
  3. 包含您需要的正确Logback依赖项。
  4. logback.xml个配置放在classpath
  5. 的根目录中

    最终可能是这样的事情:

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${version.spring}</version>
      <exclusions>
        <exclusion>
          <artifactId>commons-logging</artifactId>
          <groupId>commons-logging</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${version.slf4j}</version>
    </dependency>
    
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${version.slf4j}</version>
    </dependency>
    
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${version.logback}</version>
    </dependency>
    

答案 1 :(得分:1)

实现此目的的一种方法是在系统变量中设置logpath的属性。

假设您正在使用tomcat,那么在您的setenv.bat / setenv.sh文件中将属性设置为

-Dpath.to.log.file = “/家/比兰德拉/”

现在您可以在logback.xml中引用该路径