Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringBoot 1.5.x未写入logging.file处的文件_Java_Spring_Spring Mvc_Spring Boot_Logging - Fatal编程技术网

Java SpringBoot 1.5.x未写入logging.file处的文件

Java SpringBoot 1.5.x未写入logging.file处的文件,java,spring,spring-mvc,spring-boot,logging,Java,Spring,Spring Mvc,Spring Boot,Logging,我有一个服务,在很多这样的地方都有伐木工人 private static final Logger LOGGER = LoggerFactory.getLogger(myclass.class); 这些记录器正在写入我的控制台,但没有写入我在application.properties文件中指定的文件,如下所示 logging.file=my-service.log <dependency> <groupId>org.springframework

我有一个服务,在很多这样的地方都有伐木工人

private static final Logger LOGGER = 
LoggerFactory.getLogger(myclass.class); 
这些记录器正在写入我的控制台,但没有写入我在application.properties文件中指定的文件,如下所示

logging.file=my-service.log
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
我的pom.xml文件

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-context</artifactId>
    </dependency>
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>sqljdbc</artifactId>
        <version>4.2</version>
    </dependency>
    <dependency>
        <groupId>org.jasypt</groupId>
        <artifactId>jasypt-spring31</artifactId>
        <version>1.9.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.5</version>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.193</version>
    </dependency>
    <dependency>
        <groupId>com.maxmind.geoip</groupId>
        <artifactId>geoip-api</artifactId>
        <version>1.3.1</version>
    </dependency>

    <!-- AWS Dependencies -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-aws-autoconfigure</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-aws-context</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-aws-actuator</artifactId>
    </dependency>
    <!-- END of AWS Dependencies -->

org.springframework.boot

我已经仔细阅读了代码,并注意到LoggingSystem类正在正确设置属性。另外,如果我像这样排除初学者日志依赖项

logging.file=my-service.log
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
spring启动程序日志记录
然后服务日志文件由内部Java处理程序创建,但格式错误。我想使用Spring one,因为它可以在将日志级别设置为跟踪或调试时显示更多信息

有没有其他人见过这个问题,知道如何让Spring将服务日志写入指定的字段

更新

问题似乎来自这些依赖关系

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-context</artifactId>
    </dependency>

org.springframework.cloud
SpringCloudStarter配置
org.springframework.cloud
spring云上下文

似乎任何springframework.cloud依赖项都会导致项目不创建logging.file文件。

我找到了问题和解决方案。 我需要将日志属性设置为

logging.file=my-service.log
在bootstrap.properties文件中。此文件应放在application.properties文件所在的resources目录中

似乎在使用springframework.cloud依赖项BootstrapApplicationListener时,首先调用它来初始化LogbackLoggingSystem类。然后,由于这些属性已初始化,因此应用程序会在application.properties文件中忽略它们

更多