如何将日志记录属性添加到弹簧引导应用程序
问题描述:
我试图将log4j2属性添加到我的弹簧引导应用程序,但没有使用给定的日志文件名创建日志文件,并且在运行应用程序时不会引发错误。如何将日志记录属性添加到弹簧引导应用程序
我没有添加到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>
答
Maven的配置是OK,你可以从离开了<exclusions>
部分spring-boot-starter-web依赖关系,将此排除在spring-boot-starter依赖关系就足够了。
在log4j2.xml文件正在使用的严格的配置语法,所以你的第一行必须是:
<Configuration status="info" strict="true">
你上哪儿去把配置文件?它必须位于类路径的根目录中。
它只是具有log4j2.xml文件的src/main /资源样本春季启动项目测试这和它的工作没有问题。
你在项目/ classpath中放置log4j2.xml文件的位置? – Ruben