代码
myblog
pom.xml
properties属性中添加
<myblog.common.version>0.0.1-SNAPSHOT</myblog.common.version>
dependencies属性中添加
<dependency>
<groupId>top.lanhome</groupId>
<artifactId>common</artifactId>
<version>${myblog.common.version}</version>
</dependency>
web
pom.xml
dependencies属性中添加
<dependency>
<groupId>top.lanhome</groupId>
<artifactId>common</artifactId>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
Test.java
@Slf4j
@Controller
public class Test {
@RequestMapping("/test/{id}")
@ResponseBody
public String test(@PathVariable String id) {
log.debug("debug");
log.info("info");
return "hello world " + id;
}
}
common
resource文件夹
添加logback-spring.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- 级别从高到低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL -->
<configuration debug="false">
<!--设置存储路径变量-->
<property name="LOG_HOME" value="logs"/>
<property name="hostname" value="${HOSTNAME:-}"/>
<!--历史日志天数-->
<property name="MAX_HISTORY" value="15"/>
<property name="LOG_DATE" value="yyyyMMdd"/>
<!--控制台输出appender-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!--设置输出格式-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%relative %d{yyyy-MM-dd HH:mm:ss.SSS} [%X{requestId}] [%thread] %-5level [%logger{50}] %msg%n
</pattern>
<!--设置编码-->
<charset>UTF-8</charset>
</encoder>
</appender>
<!--文件输出,时间窗口滚动-->
<appender name="all" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志名,指定最新的文件名,其他文件名使用FileNamePattern -->
<File>${LOG_HOME}/${hostname}_all.log</File>
<!--文件滚动模式-->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名,可设置文件类型为gz,开启文件压缩-->
<FileNamePattern>${LOG_HOME}/%d{yyyyMMdd,aux}/${hostname}_all.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
<!--按大小分割同一天的-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>20MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!--输出格式-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%relative %d{yyyy-MM-dd HH:mm:ss.SSS} [%X{requestId}] [%thread] %-5level [%logger{50}] %msg%n
</pattern>
<!--设置编码-->
<charset>UTF-8</charset>
</encoder>
</appender>
<!--指定基础的日志输出级别-->
<root level="INFO">
<!--appender将会添加到这个loger-->
<appender-ref ref="console"/>
<appender-ref ref="all"/>
</root>
</configuration>