1、首先看结果
(1)每个月一个文件夹,每天刚开始一个log文件,按照日期命名.
(2)但当当天日志文件超过一定大小(可调整)就新增一个,没用超过这天就只要一个日志文件。
(3)截图如下:



2、实现方式
步骤一、pom.xml增加以下依赖:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 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 #复数加上- |
步骤三、完成