以前的log一直都是组长进行配置,自己甚至连log的级别都分不太清楚,为了避免这种尴尬的情况再次发生,自己尝试了一下在spring boot中进行log4j2的配置。
首先自定义一个log4j2.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT" follow="true">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</Console>
<File name="File" fileName="/Users/zk_chs/logtest/zk_chs.log">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Logger name="org.apache.catalina.util.LifecycleBase" level="error" />
<Logger name="org.apache.coyote.http11.Http11NioProtocol" level="warn" />
<Logger name="org.apache.tomcat.util.net.NioSelectorPool" level="warn" />
<Logger name="org.hibernate.validator.internal.util.Version" level="warn" />
<Logger name="org.springframework" level="warn" />
<Logger name="com.github" level="debug" />
<Root level="info">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
这个log文件相信大家都能看懂,不太明白的话可以参考下面的地址:
http://www.it165.net/pro/html/201409/21592.html
接下来在pom.xml按照spring boot的文档进行定义
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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>
最后在application.properties文件中,指定加载的log文件位置:
logging.config=classpath:log4j2.xml
这样,我们便能在程序中使用log了,目前我们的日志是在控制台进行输出,如果需要输出到文件中的话,添加<AppenderRef ref="File" />即可