logback 每天生成和大小生成 冲突 TimeBasedRollingPolicy SizeBasedTriggeringPolicy
来源:互联网 发布:python简明教程 编辑:程序博客网 时间:2024/06/06 01:24
项目使用了logback,日志打印需要按照每天和大小生成日志,于是使用了TimeBasedRollingPolicy SizeBasedTriggeringPolicy
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><FileNamePattern>${LOG_HOME}/consumer.%d{yyyy-MM-dd_HH}.log</FileNamePattern><!-- 日志文件保留天数 --><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <!-- 文件大小触发重写新文件 --><MaxFileSize>10MB</MaxFileSize></triggeringPolicy></appender>但是在实际使用中并未有按照预期根据日期和大小生成日志,查了了相关文章说是TimeBasedRollingPolicy和SizeBasedTriggeringPolicy冲突,在根据网上的资料去看了logback的官网地址https://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedFNATP,在游览了之后发现了最重要的部分
Size and time based rolling policySometimes you may wish to archive files essentially by date but at the same time limit the size of each log file, in particular if post-processing tools impose size limits on the log files. In order to address this requirement, logback ships with SizeAndTimeBasedRollingPolicy.Note that TimeBasedRollingPolicy already allows limiting the combined size of archived log files. If you only wish to limit the combined size of log archives, then TimeBasedRollingPolicy described above and setting the totalSizeCap property should be amply sufficent.Here is a sample configuration file demonstrating time and size based log file archiving.Example: Sample configuration for SizeAndTimeBasedFNATP (logback-examples/src/main/resources/chapters/appenders/conf/logback-sizeAndTime.xml)View as .groovy<configuration> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>mylog.txt</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>mylog-%d{yyyy-MM-dd}.%i.txt</fileNamePattern> <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB --> <maxFileSize>100MB</maxFileSize> <maxHistory>60</maxHistory> <totalSizeCap>20GB</totalSizeCap> </rollingPolicy> <encoder> <pattern>%msg%n</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="ROLLING" /> </root></configuration>然后就发现logback还有一个SizeAndTimeBasedRollingPolicy,所以根据官网修改我的配置文件为
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><!-- rollover daily --><fileNamePattern>${LOG_HOME}/consumer.%d{yyyy-MM-dd}.%i.log</fileNamePattern><!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB --><maxFileSize>50MB</maxFileSize><maxHistory>30</maxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder></appender>然后就ok了,日志文件中的%d、%i是不可缺少的。
0 0
- logback 每天生成和大小生成 冲突 TimeBasedRollingPolicy SizeBasedTriggeringPolicy
- logback的SizeBasedTriggeringPolicy和TimeBasedRollingPolicy联合使用问题
- log4j和logback冲突 mvn
- Log4j使用笔记(二):每天生成一个日志文件、按日志大小生成文件
- 日志:slf4j+logback日志生成
- 每天生成流水码
- postgresql 查看wal生成频率和大小
- logback 配置生成多个log文件
- 生成指定大小文件
- 生成任意大小文件
- Tomcat 每天生成 catalina.out
- logback.xml按时间和文件大小生成日志(分级别)
- linux和window下生成任意大小的文件
- C语言生成二进制文件格式和生成文本格式的大小比较
- 按照指定大小,生成缩略图
- C# 生成指定大小缩略图
- jboss logback slf4j 日志文件不生成问题
- logback 生成日志时日志名称为XXX_IS_UNDEFINED
- 国际化中,资源字符串中使用translatable声明不用翻译成其他语种
- 爬虫之标签定位记录
- 理解Docker技术
- computerdatabase项目中的监控数据收集
- 最大似然估计
- logback 每天生成和大小生成 冲突 TimeBasedRollingPolicy SizeBasedTriggeringPolicy
- bootstrap鼠标点击弹出菜单,鼠标经过弹出菜单
- 导入zepplin 出现的问题
- Gym
- 操作系统思维导图
- Android 5.0(Lollipop)事件输入系统(Input System)
- Python中布尔类型
- CDH 安装spark2 缺包
- TL431