当前位置: 首页 > 知识库问答 >
问题:

在Spring MVC中外部化logback.xml

松阳泽
2023-03-14
<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。我发现了一些类似的问题,但我可以找到一个可以使用的解决方案:使用application.properties和logback Externalization外部化Spring Boot中logback.xml的位置。有没有什么方法可以将文件移动到tomcat下的conf文件夹下,并指定其路径,以便将logback.xml保存在war文件之外

共有1个答案

葛修真
2023-03-14

将日志属性放在tomcat配置文件夹中不是一个好主意。最好把它放在应用程序文件夹/WAR中。

但是有一种方法可以通过在spring应用程序属性文件中设置一个属性来从外部目录定位logback.xml

例如,在application.properties中添加logging.config=file:/home/user/tomcat/conf/logback.xml

 类似资料:
  • 我想外部化插件版本。 我试过了 但是我得到了一个未解析的引用:DependencyVersions

  • SpringApplication将从以下位置的application.properties文件中加载属性,并将它们添加到Spring环境中: 列表按优先级排序(列表中较高位置定义的属性会覆盖较低位置定义的属性)。 https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config

  • 我想将中的日志级别外部化如下, 在我的<code>应用程序中。yml我拥有的文件: 但是这个值不是从Logback XML中选择的,而是以级别运行。如果我将那里的值硬编码为,则它仅以级别运行。

  • 在springboot应用程序中,我有一个jar,然后是一个子目录config with application。属性,applicationContext。xml和log4j。。。属性文件。 我正在尝试外部化log4j配置。application.properties是这样外部化的。 但是,当springboot运行时,它使用jar文件中的log4j配置文件。通过使用-Dlog4j.debug选

  • 我有一个spring boot应用程序,它连接到mongo db,并用docker部署了该应用程序。我正在使用这个docker compose。yml文件,工作正常: 目前,该应用程序正在使用嵌入在Spring应用程序docker映像(spring-app)中的application.properties文件。如何使用docker-compose外部化/传递application.properti

  • 我试图编写完整的多部分流,从客户端使用Spring restTemplate发送多部分请求,从服务器端自动将不同部分解析为对象(我使用JAXB进行对象封送),并以多部分形式返回响应。 我能够实现几乎所有的流,但是我不能从spring Controller中用jaxb对象发送多部分响应。 试图使he FormHttpMessageConverter正确地编写部分,但这没有帮助 是否有任何方法使Spr