java - Spring Boot:当前日期目录中的日志文件和翻转
问题描述
我的要求是在当前日期目录中打印日志,并且日志需要在当前日期目录中翻转,条件如下:
- 要么达到最大文件大小
- 或日期已更改
所以今天的日期是 16/07/2019 所以目录结构应该是
16_07_2019/fde.log(当前日志)
16_07_2019/fde.1.log(由于最大大小)
16_07_2019/fde.2.log(由于最大大小)
15_07_2019/fde.log(昨天的日志)
15_07_2019/fde.1.log(昨天的日志由于最大大小)
我的 logback.xml 是:
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/VVV/AA/%d{yyyy_MM_dd}/fde.log</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>/VVV/AA/%d{yyyy_MM_dd}/fde.%i.log
</fileNamePattern>
<maxFileSize>2MB</maxFileSize>
</rollingPolicy>
<encoder>
<pattern>%d{MM:dd HH:mm:ss.SSS} [%t] [%level] [%logger{36}] - %msg%n
</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE"/>
</root>
</configuration>
它不是创建当前日期目录,而是创建%d{yyyy_MM_dd}
目录。我不确定为什么?
另外,根据我的要求,这个 xml 看起来不错吗?
使用 SpringBoot:2.0.5 版本
解决方案
尝试这个:
<file>/VVV/AA/logs/fde.log</file>
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>/VVV/AA/logs/fde-%d{yyyy_MM_dd}.%i.log</fileNamePattern>
<maxFileSize>2MB</maxFileSize>
</rollingPolicy>
如滚动仅覆盖文件名而不是日志文件目录。
推荐阅读
- php - SQLSTATE [23000]:违反完整性约束:1052 where 子句中的列“值”不明确
- powerbi - 带有 power bi 报告的动态过滤器
- python - 更新 tkinter 时文本闪烁
- python - 如何对不平衡的多类数据集进行欠采样?(Python)
- php - 谷歌任务 API
- postgresql - 在 Cloud Foundry manifest.yml 中指定 postgresql 数据库名称
- python - 如何使用 python 从 pycharm 中的条形图中删除十进制数字。我的代码如下
- c++ - 为什么 C++ 标准库中没有定义 inv_sqrt2?
- android - “com.google.android.play.core.assetpacks”出现 R8 错误。在 androidTest 构建
- javascript - 异步,瀑布问题