SpringBoot 按⽇期和⽂件⼤⼩⽣成⽇志⽂件到对应⽇期⽂件夹
⼀、
效果图:
⼆、
代码
(⼀)l
配置⽂件
12logging:
config: l
(⼆)新增l
⽇志配置⽂件
1
2
3
4
5
67891011121314151617181920212223242526272829303132<configuration>
<!-- %m 输出的信息, %p ⽇志级别, %t 线程名, %d ⽇期, %c 类的全名, %i 索引 --> <!-- appender 是configuration 的⼦节点,是负责写⽇志的组件 --> <!-- ConsoleAppender 把⽇志输出到控制台 -->
<!-- <property name="CONSOLE_LOG_PATTERN" -->
springframework和springboot<!-- value="%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n"/> --> <appender name="STDOUT" class="ch.ConsoleAppender">
<encoder>
<!--<pattern>${CONSOLE_LOG_PATTERN}</pattern> --> <pattern>%date{yyyy-MM-dd HH:mm:s
s} %highlight(%-5level) (%file:%line\)- %m%n</pattern> <!-- 控制台也要使⽤utf-8,不要使⽤gbk -->
<charset>UTF-8</charset>
</encoder>
</appender> <!-- RollingFileAppender:滚动记录⽂件,先将⽇志记录到指定⽂件,当符合某个条件时,将⽇志记录到其他⽂件 --> <!-- 1.先按⽇期存⽇志,⽇期变了,将前⼀天的⽇志⽂件名重命名为xxx%⽇期%索引,新的⽇志仍然是sys.log --> <!-- 2.如果⽇期没有变化,但是当前⽇志⽂件的⼤⼩超过1kb 时,对当前⽇志进⾏分割 重名名 -->
<appender name="syslog" class="ch.olling.RollingFileAppender">
<!--<File>${catalina.base}/mylog/sys.log</File>-->
<File>${catalina.base}/%d/sys.log</File> <!-- rollingPolicy:当发⽣滚动时,决定 RollingFileAppender 的⾏为,涉及⽂件移动和重命名。 --> <!-- TimeBasedRollingPolicy : 最常⽤的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动 --> <rollingPolicy class="ch.olling.TimeBasedRollingPolicy">
<!-- 活动⽂件的名字会根据fileNamePattern 的值,每隔⼀段时间改变⼀次 -->
<!-- ⽂件名:mylog/sys.2017-12-05.0.log -->
<!--<fileNamePattern>${catalina.base}/mylog/sys.%d.%i.log</fileNamePattern>-->
<fileNamePattern>${catalina.base}/%d/sys.%d.%i.log</fileNamePattern>
<!-- 每产⽣⼀个⽇志⽂件,该⽇志⽂件的保存期限为30天 --> <maxHistory>30</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.olling.SizeAndTimeBasedFNATP">
<!-- maxFileSize:这是活动⽂件的⼤⼩,默认值是10MB,本篇设置为1KB ,只是为了演⽰ -->
<maxFileSize>1KB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 </timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<!-- pattern节点,⽤来设置⽇志的输⼊格式 -->
<pattern>
%d %p (%file:%line\)- %m%n
</pattern>
<!-- 记录⽇志的编码 -->
<charset>UTF-8</charset> <!-- 此处设置字符集 -->
</encoder>
</appender>
<!-- 控制台⽇志输出级别 -->
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
<!-- 指定项⽬中某个包,当有⽇志操作⾏为时的⽇志记录级别 -->
<!-- com.appley为根包,也就是只要是发⽣在这个根包下⾯的所有⽇志操作⾏为的权限都是DEBUG --> <!-- 级别依次为【从⾼到低】:FATAL > ERROR > WARN > INFO > DEBUG > TRACE -->
<logger name="com.yjlc.service.impl.seckill"level="DEBUG">
<appender-ref ref="syslog"/>
</logger>
</configuration>
三、
准备架包
1 2 3 4 5<dependency>
<groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
在后端代码中需要输出⽇志到⽇志⽂件中的,则根据⽇志配置⽂件的⽇志输出级别使⽤不同的打印语句,如INFO级别:1log.info("INFO级别⽇志输出");
按照以上步骤操作即可实现对应效果。
如果对以上内容有疑问的欢迎留⾔探讨。
⼀、
代码
(⼀)l
配置⽂件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论