因为项目中之前没有引入日志插件,所以我就加了一下。
我是看着这篇博客装的,其中也进行了一些修改。十分感谢
-
取出springBoot自带的默认日志控件,添加log4j2日志控件
pom文件中添加一下代码<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.4.2.RELEASE</version> <exclusions><!-- 去掉默认配置 --> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> </exclusions> </dependency> <dependency> <!-- 引入log4j2依赖 –>--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> <version>1.4.2.RELEASE</version> </dependency>
2.在application.properties文件夹下,添加日志配置
logging.config=classpath:log4j2.xml
3.在src/main/resource下新建log4j2.xml,加入对应的配置。(这个参照其他的就OK了) 具体的配置项恐怕得自己去看
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" monitorInterval="30">
<Properties>
<Property name="patternLayout">[%d{yyyy-MM-dd'T'HH:mm:ss,SSSXXX}] %-5p [%t] %c{2} - %m%n]</Property>
<!--<Property name="logdir">${sys:catalina.home}</Property>-->
<!--<Property name="logdir">/data/logs</Property>-->
<Property name="logdir">W:/code/logs</Property>
</Properties>
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="${patternLayout}"/>
</Console>
<Async name="ASYNC">
<AppenderRef ref="CONSOLE"/>
</Async>
<!--<RollingFile name="DebugLogger" fileName="${logdir}/logs/debug/log.log"
filePattern="${logdir}/logs/debug/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-log-%i.log" append="true">-->
<RollingFile name="DebugLogger" fileName="${logdir}/logs/debug/log.log"
filePattern="${logdir}/logs/debug/log-%i.log" append="true">
<ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${patternLayout}"/>
<!--<SizeBasedTriggeringPolicy size="1MB"/>-->
<DefaultRolloverStrategy max="10"/>
<Policies>
<!--根据时间来滚动-->
<!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>-->
<!--根据文件大小来滚动-->
<SizeBasedTriggeringPolicy size="20 MB"/>
</Policies>
</RollingFile>
<RollingFile name="InfoLogger" fileName="${logdir}/logs/info/log.log"
filePattern="${logdir}/logs/info/log-%i.log" append="true">
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${patternLayout}"/>
<!--<SizeBasedTriggeringPolicy size="1MB"/>-->
<DefaultRolloverStrategy max="10"/>
<Policies>
<!--根据时间来滚动-->
<!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>-->
<!--根据文件大小来滚动-->
<SizeBasedTriggeringPolicy size="20 MB"/>
</Policies>
</RollingFile>
<RollingFile name="WarnLogger" fileName="${logdir}/logs/warn/log.log"
filePattern="${logdir}/logs/warn/log-%i.log" append="true">
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${patternLayout}"/>
<!--<SizeBasedTriggeringPolicy size="1MB"/>-->
<DefaultRolloverStrategy max="10"/>
<Policies>
<!--根据时间来滚动-->
<!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>-->
<!--根据文件大小来滚动-->
<SizeBasedTriggeringPolicy size="20 MB"/>
</Policies>
</RollingFile>
<RollingFile name="ErrorLogger" fileName="${logdir}/logs/error/log.log"
filePattern="${logdir}/logs/error/log-%i.log" append="true">
<ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="${patternLayout}"/>
<!--<SizeBasedTriggeringPolicy size="1MB"/>-->
<DefaultRolloverStrategy max="10"/>
<Policies>
<!--根据时间来滚动-->
<!--<TimeBasedTriggeringPolicy modulate="true" interval="1"/>-->
<!--根据文件大小来滚动-->
<SizeBasedTriggeringPolicy size="20 MB"/>
</Policies>
</RollingFile>
</Appenders>
<loggers>
<root level="info">
<AppenderRef ref="ASYNC"/>
<appender-ref ref="DebugLogger"/>
<appender-ref ref="InfoLogger"/>
<appender-ref ref="WarnLogger"/>
<appender-ref ref="ErrorLogger"/>
</root>
</loggers>
</Configuration>
4.程序里面直接引入
private static final Logger logger = LoggerFactory.getLogger(ScheduleJob.class);
方法里面用这个就ok了。
logger.info("this is info ");