我正在尝试将log4j2属性添加到我的spring启动应用程序中,但是没有使用给定的日志文件名创建日志文件,并且在运行应用程序时不会抛出任何错误。
我没有在application.properties文件中添加任何内容 下面是添加到我的pom.xml文件的依赖项
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<start-class>com.boot.test.SpringApp</start-class>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.7</version><!--$NO-MVN-MAN-VER$-->
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.7</version><!--$NO-MVN-MAN-VER$-->
</dependency>
<dependency>
</dependencies>
以下是log4j2.xml文件
<Configuration status="INFO">
<Properties>
<Property name="filename">c:\temp\spring-boot-example.log</Property>
<Property name="defaultpattern">%d{ISO8601} %thread level=%level %logger{36} %msg%n</Property>
</Properties>
<Filter type="ThresholdFilter" level="trace"/>
<Appenders>
<Appender type="File" name="File" fileName="${filename}">
<Layout type="PatternLayout" pattern="${defaultpattern}" />
</Appender>
</Appenders>
<Loggers>
<Logger name="com.att.sdnmon.odl" level="info" additivity="false">
<AppenderRef ref="File"/>
</Logger>
<Root level="warn">
<AppenderRef ref="File"/>
</Root>
</Loggers>
</Configuration>
答案 0 :(得分:0)
您的maven配置没问题,您可以从 spring-boot-starter-web 依赖项中省略<exclusions>
部分,将此排除项放在 spring-boot-中启动依赖就足够了。
在 log4j2.xml 文件中,您使用的是严格的配置语法,因此您的第一行必须是:
<Configuration status="info" strict="true">
你把配置文件放在哪里?它必须位于类路径的根目录中。
它刚刚在 src / main / resources 中使用 log4j2.xml 文件的示例Spring启动项目进行了测试,并且没有问题。