我们在Spring Boot(1.5.x版)应用程序中使用log4j2日志记录。
pom.xml配置:
<!-- REQUIRED FOR log4j2 -->
<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-log4j2</artifactId>
</dependency>
log4j2.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<Property name="log-path">logs/</Property>
<Property name="file-name">test</Property>
</Properties>
<Appenders>
<Console name="console-log" target="SYSTEM_OUT">
<PatternLayout
pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n" />
</Console>
<RollingFile name="trace-log"
fileName="${log-path}/${file-name}.log"
filePattern="${log-path}/${file-name}-%d{yyyy-MM-dd}.log">
<PatternLayout>
<pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
</pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"
modulate="true" />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root additivity="false">
<AppenderRef ref="console-log" />
<AppenderRef ref="trace-log" />
</Root>
</Loggers>
</Configuration>
在application.yml文件中记录属性:
logging:
level:
root: INFO
com.abc.app: TRACE
当我运行该应用程序时,它仅采用root日志记录级别,即INFO 为什么不考虑我的包裹?
实际上,我只希望有一个log4j2.xml文件,并在application.properties或application.yml文件中指定日志记录级别。如何实现呢?