1、首先看结果
(1)每个月一个文件夹,每天刚开始一个log文件,按照日期命名.
(2)但当当天日志文件超过一定大小(可调整)就新增一个,没用超过这天就只要一个日志文件。
(3)截图如下:
2、实现方式
步骤一、pom.xml增加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion><!-- 去除默认配置 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>1.5.6.RELEASE</version>
</dependency>
<dependency> <!-- 支持识别yml配置 -->
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
</dependency>
步骤二、resources下面增加一个文件:log4j2.yml:
Appenders:
Console: #输出到控制台
name: CONSOLE #Appender命名
target: SYSTEM_OUT
PatternLayout:
pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
RollingFile: # 输出到文件,超过256MB归档
- name: ROLLING_FILE
ignoreExceptions: false
#本地配置示例
fileName: D://logs/riskmanagementFrontend_9090.log
filePattern: "D://logs/$${date:yyyy-MM}/riskmanagementFrontend_9090-%d{yyyy-MM-dd}-%i.log"
#服务器配置示例
#fileName: /export/Logs/devicemqtt.log
#filePattern: "/export/Logs/$${date:yyyy-MM}/devicemqtt-%d{yyyy-MM-dd}-%i.log"
PatternLayout:
pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%F:%L) - %m%n"
Policies:
SizeBasedTriggeringPolicy:
size: "255 MB"
DefaultRolloverStrategy:
max: 1000
Loggers:
Root:
level: info
AppenderRef:
- ref: CONSOLE
Logger: #单独设置某些包的输出级别
- name: com.jd.smartcourt.devicemqtt #复数加上-(这里我设置的是包的根路径的包名)
additivity: false #去除重复的log
level: info
AppenderRef:
- ref: CONSOLE #复数加上-
- ref: ROLLING_FILE #复数加上-
步骤三、完成