因爲項目中之前沒有引入日誌插件,所以我就加了一下。
我是看着這篇博客裝的,其中也進行了一些修改。十分感謝
-
取出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 ");