1:修改applicatipon.xml
logging:
config: classpath:logback-spring.xml
2:修改pom配置文件
<!--生成日志-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
<!--日志结束-->
此处很容易引起log4j的jar包冲突,在加了排除项之后,可以正常生成,亲测有效
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>logback-classic</artifactId>
<groupId>ch.qos.logback</groupId>
</exclusion>
<exclusion>
<artifactId>spring-boot-starter-logging</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
3:编辑logback-spring.xml
<?xml version='1.0' encoding='UTF-8'?>
<!--日志配置-->
<configuration>
<!--直接定义属性-->
<property name="logFile" value="/usr/local/data/produce/produce"/>
<property name="maxFileSize" value="30MB"/>
<!--控制台日志-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d [%thread] %-5level %logger{50} -[%file:%line]- %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!--滚动文件日志-->
<appender name="fileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志文件存储路径,来自property设置-->
<file>${logFile}.log</file>
<encoder>
<pattern>%d [%thread] %-5level -[%file:%line]- %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--每天生成一个新的活动日志文件,旧的日志归档,后缀名为2019.08.12这种格式-->
<fileNamePattern>${logFile}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!--活动日志文件最大值,超过这个值将产生新日志文件-->
<maxFileSize>${maxFileSize}</maxFileSize>
<!--只保留最近30天的日志-->
<maxHistory>30</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
<totalSizeCap>1GB</totalSizeCap>
</rollingPolicy>
</appender>
<!--创建一个具体的日志输出-->
<logger name="com.*" level="info" additivity="true">
<!--可以有多个appender-ref,即将日志记录到不同的位置-->
<appender-ref ref="STDOUT"/>
<appender-ref ref="fileLog"/>
</logger>
<!--基础的日志输出-->
<root level="info">
</root>
</configuration>
4:修改docker-compose.yml,添加日志挂载目录
volumes:
- "/etc/localtime:/etc/localtime"
- "/usr/local/data:/usr/local/data"
5:启动应用,查看日志文件
docker-compose up -d