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

spring-boot创建logging.path_is_undefinited.log文件

寿伟
2023-03-14

我的spring-boot应用程序创建了一个名为logging.path_is_undefinedlogging.file_is_undefined.log的日志文件,该文件清楚地说明在logback初始化日志配置时,不设置logging.pathlogging.file属性。这听起来像是这一个的重复,然而,我尝试了所有建议的解决方案从那篇文章。我使用的是spring-boot 2.0版本

application-dev.yaml

spring:
  main:
    allow-bean-definition-overriding: true
  application:
    name: my-application

logging:
  path: /var/logs/${spring.application.name}/
  file:
    max-size: 10MB
    max-history: 5
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
    <include resource="org/springframework/boot/logging/logback/file-appender.xml"/>

    <property name="logging.pattern.console" value="%d{HH:mm:ss.SSS} [%t] %-5level %X{transactionId} %logger{36} - %msg%n"/>
    <property name="logging.file.roll-pattern" value="application-%d{yyyy-MM-dd}-%i.log"/>

    <springProfile name="dev">
        <property resource="application-dev.yaml" />
        <include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
        <logger name="org.springframework" level="INFO"/>
        <logger name="com.myapp" level="DEBUG"/>

        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${logging.path}${logging.file}.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- daily rollover -->
                <fileNamePattern>${logging.path}${logging.file}.%d{yyyy-MM-dd}.log</fileNamePattern>

                <!-- keep 30 days' worth of history capped at 3GB total size -->
                <maxHistory>30</maxHistory>
                <totalSizeCap>3GB</totalSizeCap>

            </rollingPolicy>

            <encoder>
                <pattern>${FILE_LOG_PATTERN}</pattern>
            </encoder>
        </appender>

        <root level="INFO">
            <appender-ref ref="CONSOLE"/>
            <appender-ref ref="FILE"/>
        </root>
    </springProfile>
</Configuration>

共有1个答案

籍利
2023-03-14

此外,您还可以在logback.xml中设置一个“path”变量,并在其后面附加文件名,将其存储在另一个“log_file”属性中:

    <springProperty scope="context" name="path" 
    source="logging.path" />
<property name="LOG_FILE" 
    value="${path}/myapp.log" />
 类似资料:
  • 谁能告诉我我错过了什么吗?我正在尝试使用spring boot mongodb创建一个Mongo集合。 我想创造这样的东西 但我要得到这个 我的领域类是 我的存储库是 控制器是 我的jsp表格是

  • 主要内容:配置开发环境,创建 Spring Boot 项目,启动 Spring Boot本节,我们将为您详细讲解如何使用 IDEA 创建一个 Spring Boot 项目。 配置开发环境 在使用 Spring Boot 进行开发之前,第一件事就是配置好开发环境。这里我们以 Windows 操作系统为例,如果您使用的是其他操作系统,请对照其相关设置进行操作。 工欲善其事,必先利其器,IDE(集成开发环境)的选择相当重要,目前市面上有很多优秀的 IDE 开发工具,例如 IntelliJ

  • 我的项目是一个Maven项目,具有以下依赖关系: 为了保持文章的简短性,我试图只放置相关的依赖项,避免其他的依赖项(Lombok、jpa等) 和我的graphqls文件(在参考资料文件夹中):

  • 我想写一个库,以某种方式完成我总是需要的工作。 这个库应该基于spring-boot并在Spring环境中工作。因此,应该可以在您的pom文件中添加依赖项,然后访问服务。 愚蠢的例子:“库”中的功能 现在我可以在我的另一个项目中做以下事情。

  • 如何基于应用程序动态定义bean。yml文件? 例如,YAML文件如下所示: 这将动态创建两个带有内容类型标题集的HTTPHeader。 下面是我现在如何定义bean: 如果我需要添加更多endpoint,我需要复制并粘贴这些bean,这是我想要避免的。 注意:这些动态bean不需要任何其他bean。我不确定这是否有什么不同。它只需要加载配置。

  • 我将Spring Boot与Spring集成在一起,我希望为每个<code>child() 此时此刻,我正在处理这个:(只有最相关的行) 我已经查看了SpringApplication ationBuilder方法,并且属性从父亲传播到孩子: 但是我需要动态加载一些属性,如下例所示: 从此示例中提取:Spring多个 imapAdapter 这是因为一些Spring集成组件将从配置文件中动态加载。