1:第一步-->将application.properties按阶段分为开发--测试--上线
2.第二步:在resources下创建日志配置xml文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 文件输出格式 -->
<property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n"/>
<!-- test文件路径 -->
<property name="TEST_FILE_PATH" value="./logs/项目名.log"/>
<!-- pro文件路径 -->
<property name="PRO_FILE_PATH" value="./logs/项目名.log"/>
<!-- 生产环境 -->
<springProfile name="prod">
<!-- 日志保存路径 -->
<property name="LOG_DIR" value="./logs"/>
<!-- 按照每天生成日志文件 -->
<appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 生成文件名称 -->
<file>${PRO_FILE_PATH}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名 -->
<fileNamePattern>${LOG_DIR}/项目名-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 日志文件保留天数 -->
<MaxHistory>180</MaxHistory>
<!-- 总日志文件大小 -->
<totalSizeCap>20GB</totalSizeCap>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 单日志文件大小上限 -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<logger name="com.xxx.xxxx[根据项目实际情况]" level="INFO" additivity="false">
<appender-ref ref="PROD_FILE"/>
</logger>
<root level="INFO">
<appender-ref ref="PROD_FILE"/>
</root>
</springProfile>
<!-- 开发环境 -->
<springProfile name="dev">
<property name="LOG_DIR" value="./dev_logs"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<logger name="com.xxx.xxxx[根据项目实际情况]" level="DEBUG" additivity="false">
<appender-ref ref="CONSOLE"/>
</logger>
<!--如果有使用mongo则添加,没有则直接删除即可-->
<!--目的:mongo启动输出太多屏蔽一下-->
<!--mongodb loggers-->
<logger name="org.mongodb.driver.cluster" level="INFO"/>
<logger name="org.mongodb.driver.connection" level="INFO"/>
<logger name="org.mongodb.driver.protocol.insert" level="INFO"/>
<logger name="org.mongodb.driver.protocol.delete" level="INFO"/>
<logger name="org.mongodb.driver.protocol.query" level="INFO"/>
<logger name="org.mongodb.driver.protocol.getmore" level="INFO"/>
<logger name="org.mongodb.driver.protocol.command" level="INFO"/>
<logger name="org.mongodb.driver.protocol.uri" level="INFO"/>
<logger name="org.mongodb.driver.protocol.management" level="INFO"/>
<!-- 日志输出级别 -->
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
</root>
</springProfile>
<!-- 测试环境 -->
<springProfile name="test">
<!-- 日志保存路径 -->
<property name="LOG_DIR" value="./logs"/>
<!-- 按照每天生成日志文件 -->
<appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 生成文件名称 -->
<file>${PRO_FILE_PATH}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 文件名 -->
<fileNamePattern>${LOG_DIR}/项目名-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 日志文件保留天数 -->
<MaxHistory>180</MaxHistory>
<!-- 总日志文件大小 -->
<totalSizeCap>20GB</totalSizeCap>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 单日志文件大小上限 -->
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
<pattern>${PATTERN}</pattern>
</encoder>
</appender>
<logger name="com.xxx.xxx[根据项目实际情况]" level="INFO" additivity="false">
<appender-ref ref="TEST-FILE"/>
</logger>
<root level="INFO">
<appender-ref ref="TEST-FILE"/>
</root>
</springProfile>
</configuration>
3.第三步:maven中添加lombok依赖---用于简化实体类及自带log日志包
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
4.第四步:在代码中使用log
//@Slf4j--引入这个注解在代码中就可以使用log来记录日志
@Slf4j
@RestController
public class TestController {
@GetMapping("hello")
public String hello(){
log.info("程序已正常启动------>欢迎~");
return "success";
}
}