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

Spring Boot->使用logback-spring.xml时,翻转不起作用

楚宏胜
2023-03-14

我使用的是Spring Boot 1.3.2,并且有logback-spring.xml如下所示-

    <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
  <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
 <root level="INFO">
    <appender-ref ref="FILE" />
  </root> 
</configuration>

我的pom.xml有-

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
</dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>log4j-over-slf4j</artifactId>
     </dependency>

我的application.properties文件如下-

logging.file=xyz.log

但是当它达到10 MB时,日志文件不会回滚。也尝试使用下面的日志文件,仍然没有回滚。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
  <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>/log/xyz.log</file>       
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>/log/xyz%i.log</fileNamePattern>
        <minIndex>1</minIndex>
        <maxIndex>10</maxIndex>      
    </rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>10MB</maxFileSize>
    </triggeringPolicy>
    <encoder>

        <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="INFO">
    <appender-ref ref="FILE" />
  </root> 
</configuration>

任何帮助/建议都很感激!!!

共有1个答案

包永新
2023-03-14

Spring-boot自动滚动10MB点的日志文件。
只要配置了日志文件属性,就不需要做任何其他事情。
日志返回依赖关系包含在初学者pom中,此外,您不应该同时使用log4j和logback。
删除日志xml配置,从pom中删除所有日志依赖项,它就可以工作了。
为了完整起见,如果您想使用10MB以外的大小,那么您需要添加一个日志配置。
最简单的方法是复制现有的基本配置并实现您自己的文件追加器规则。

示例logback-spring.xml,使用20MB的滚动大小:
如果您只想要默认的10MB,就不需要使用这个。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- Import default spring logback configuration -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <!-- Define your file-appender -->
    <appender name="FILE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
        <file>${LOG_FILE}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${LOG_FILE}.%i</fileNamePattern>
        </rollingPolicy>
        <triggeringPolicy
                class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>20MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>
 类似资料:
  • Spring靴默认日志如下所示: 我写了一个对数Spring.xml,用于为我的应用程序设置一些记录器和附加器。但是,当“资源”目录中存在.xml时,Spring靴默认日志将消失。而且只有一个

  • 当我将logback.xml的名称更改为logback-spring.xml应用程序停止日志记录时,我就将logback1.1.8与spring Boot1.4.2一起使用。当我使用logback.xml时,我不能使用springProfiles标记。 15:55:23,459-ch.qos.logback.core.joran.spi.interpreter@153:46-对[appender-

  • 这个应用程序在IntelliJ中工作正常,并根据配置创建日志文件,但是当从命令行启动应用程序时,它不使用logback-spring.xml文件,而是继续创建*tmp/spring.log文件,该文件似乎来自Spring*logback/base.xml.我花了几天时间来解决这个问题,但似乎没有什么工作到目前为止,其他问题不能解决根本问题,感谢您的帮助。 我将以以下方式启动应用程序:- 我可以看到

  • 我有一个示例Spring Boot应用程序,它使用Logback进行日志记录。因此,我在jar旁边有来配置日志记录,但是它不能工作,除非我用指定它,例如:。

  • 问题内容: 我有Yii2高级模板,我想为前端视图设置翻译,这是我所做的: 然后我加在 和 我在视图中使用它为: 但翻译无效,显示为 问题答案: 您只需按照以下步骤操作…… 步骤1: 在目录中,创建文件夹。 步骤2:在目录内创建文件,内容如下: 注意: 确保将所有必需的语言添加到“语言”数组中。在上面的示例中,我为Generate Yii2 Framework多语言添加了英语和俄语。 步骤3:在文件

  • 我有2个Spring Boot(1.4.1-发行版)控制台应用程序使用了Logback。这两个配置文件或多或少是相同的,都位于my/src/main/resources文件夹中,名为logback-spring.xml。 这两个项目都在其pom.xml中包含了maven依赖项spring-boot-starter-logging,并获取1.1.7版本的日志。 两个POM中定义的Spring Boo