springboot是spring推出的一套开箱即用的开发框架,里边默认的集成了大家开发时候习惯使用的东西。其中日志默认使用logback。
创建springboot项目不在此处表述,直接说logback的配置方式。
首先,pom.xml不需要任何logback相关包的引用,因为spring-boot-starter已经帮你提前引入了。我们需要做的是在application.properties文件中做一些配置:
application.properties
logging.config=classpath:logback.xml //指定logback配置文件的位置
然后在上边指定的位置新建logback.xml,我的logback.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<property name="log.dir" value="d:/common"/>
<timestamp key="byMS" datePattern="yyyyMMddHHmmssSSS"/>
<property name="logFormat" value="[%thread-${byMS}] %-5level %C%M:%L %msg %n"/>
<!-- 控制台打印日志 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${logFormat}</pattern>
</encoder>
</appender>
<!-- 日志输出到文件 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${log.dir}/common.log</file>
<encoder>
<pattern>${logFormat}</pattern>
</encoder>
<append>true</append>
</appender>
<!-- 日志文件按照时间和大小分开记录 满1M分开 -->
<appender name="TIMESIZEROLLFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.dir}/common_time_size.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${log.dir}/%d{yyyyMMdd}/common_time_size.log._%i</fileNamePattern>
<maxHistory>30</maxHistory>
<maxFileSize>100MB</maxFileSize>
</rollingPolicy>
<encoder>
<pattern>${logFormat}</pattern>
</encoder>
<append>true</append>
</appender>
<!-- mybait sql 日志 -->
<logger name="java.sql.Connection" level="debug" addtivity="false"/>
<logger name="java.sql.Statement" level="debug" addtivity="false"/>
<logger name="java.sql.ResultSet" level="debug" addtivity="false"/>
<logger name="java.sql.PreparedStatement" level="debug" addtivity="false"/>
<logger name="com.ibatis" level="debug" addtivity="false"/>
<logger name="com.ibatis.common.jdbc.ScriptRunner" level="debug" addtivity="false"/>
<logger name="com.ibatis.common.jdbc.SimpleDataSource" level="debug" addtivity="false"/>
<logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="debug" addtivity="false"/>
<logger name="com.muou.common.dao" level="debug" addtivity="false"/>
<root level="info">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
<appender-ref ref="TIMESIZEROLLFILE" />
</root>
</configuration>
源代码见githup https://github.com/muyihz/springboot.git