在logback的fileNamePattern配置%i 带来的异常
我在logback的配置文件中企图这样配置:
<rollingPolicy
class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--log file pathname -->
<FileNamePattern>${LOG_HOME}/MmSpringWebApplication.%d{yyyy-MM-dd}%i.log
</FileNamePattern>
<!--days log files will be kept -->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
但是出现了以下异常:
Exception in thread "main" java.lang.IllegalStateException: Logback configuration error detected:
ERROR in c.q.l.core.rolling.DefaultTimeBasedFileNamingAndTriggeringPolicy - Filename pattern [d:/logs/MmSpringWebApplication.%d{yyyy-MM-dd}%i.log] contains an integer token converter, i.e. %i, INCOMPATIBLE with this configuration. Remove it.
ERROR in ch.qos.logback.core.joran.spi.Interpreter@37:13 - RuntimeException in Action for tag [appender] java.lang.IllegalArgumentException: Cannot convert Fri Jan 17 11:38:15 JST 2020 of typejava.util.Date
at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:169)
at org.springframework.boot.logging.logback.LogbackLoggingSystem.reinitialize(LogbackLoggingSystem.java:222)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithConventions(AbstractLoggingSystem.java:73)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)
at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:118)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:312)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:287)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:245)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:222)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)
at MmSpringWebApplication.main(MmSpringWebApplication.java:16)
要修正也简单,不是仅仅添加%i就好了,需要整体替换:
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_HOME}/logbackCfg3.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>1000MB</maxFileSize>
<MaxHistory>60</MaxHistory>
</rollingPolicy>
这样就%i就不会报有异常的,log也能正确书写:
2020-01-17 11:50:33.706 [main] ERROR logbackCfg.App2 -牧童拾得旧刀枪
2020-01-17 11:50:33.706 [main] DEBUG logbackCfg.App2 -微风吹皱乌江水
2020-01-17 11:50:33.706 [main] TRACE logbackCfg.App2 -恰似虞姬别霸王
2020-01-17 11:50:35.836 [main] INFO logbackCfg.App -秦时明月汉时关
2020-01-17 11:50:35.836 [main] ERROR logbackCfg.App -万里长征人未还
2020-01-17 11:50:35.836 [main] DEBUG logbackCfg.App -但使龙城飞将在
2020-01-17 11:50:35.836 [main] TRACE logbackCfg.App -不教胡马度阴山
2020-01-17 11:50:40.836 [main] INFO logbackCfg.App -秦时明月汉时关
2020-01-17 11:50:40.836 [main] ERROR logbackCfg.App -万里长征人未还
2020-01-17 11:50:40.836 [main] DEBUG logbackCfg.App -但使龙城飞将在
2020-01-17 11:50:40.836 [main] TRACE logbackCfg.App -不教胡马度阴山
2020-01-17 11:50:41.706 [main] INFO logbackCfg.App2 -九里山前作战场
2020-01-17 11:50:41.706 [main] ERROR logbackCfg.App2 -牧童拾得旧刀枪
2020-01-17 11:50:41.706 [main] DEBUG logbackCfg.App2 -微风吹皱乌江水
2020-01-17 11:50:41.706 [main] TRACE logbackCfg.App2 -恰似虞姬别霸王
2020-01-17 11:50:42.682 [main] INFO logbackCfg.NewDayThread -万里赴戎机,关山度若飞。
2020-01-17 11:50:42.685 [main] ERROR logbackCfg.NewDayThread -朔气传金柝,寒光照铁衣。
2020-01-17 11:50:42.685 [main] DEBUG logbackCfg.NewDayThread -将军百战死,壮士十年归。
2020-01-17 11:50:45.836 [main] INFO logbackCfg.App -秦时明月汉时关
2020-01-17 11:50:45.836 [main] ERROR logbackCfg.App -万里长征人未还
2020-01-17 11:50:45.836 [main] DEBUG logbackCfg.App -但使龙城飞将在
2020-01-17 11:50:45.836 [main] TRACE logbackCfg.App -不教胡马度阴山
2020-01-17 11:50:49.706 [main] INFO logbackCfg.App2 -九里山前作战场
2020-01-17 11:50:49.706 [main] ERROR logbackCfg.App2 -牧童拾得旧刀枪
2020-01-17 11:50:49.706 [main] DEBUG logbackCfg.App2 -微风吹皱乌江水
例程下载:https://files.cnblogs.com/files/xiandedanteng/logbackCfg3-2020-01-17.zip
--END-- 2020-01-17 11:58
在logback的fileNamePattern配置%i 带来的异常的更多相关文章
- Logback日志基础配置以及自定义配置
Logback日志基础配置 logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的.下面是最简单的一个配置,注意加粗的描述 <?xml version="1.0" ...
- logback logback.xml常用配置详解(一)<configuration> and <logger>
logback logback.xml常用配置详解(一)<configuration> and <logger> 博客分类: Log java loglogback 原创文章 ...
- logback的简单配置
logback的简单配置: <?xml version="1.0" encoding="UTF-8"?> <configuration> ...
- logback.xml文件配置(按时间、文件大小和log名称生成日志)
之前项目中日志多用的log4j2,偶然看到在importNew看到了logback,自己查了下,发现Logback和log4j是非常相似的,其作者也是同一个人,并且logback相比于log4j性能更 ...
- logback.xml常用配置
一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-acc ...
- SpringBoot Logback无法获取配置中心属性
SpringBoot Logback无法获取配置中心属性 前言 最近在做项目中,需要把项目中的日志信息通过RabbitMQ将规定格式的消息发送到消息队列中,然后ELK系统通过消息队列拿日志并且保存起来 ...
- logback学习与配置使用
Logback介绍 Logback 分为三个模块:Core.Classic 和 Access.Core模块是其他两个模块的基础. Classic模块扩展了core模块. Classic模块相当于log ...
- logback logback.xml常用配置详解(三)
logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...
- 警惕phpstudy等开发神器使用默认配置可能带来的危险
0x00 前言 其实这个点早在之前,我就已经想到了,当时也觉得没啥就记在了我的印象笔记里. 而今天重新把这个点拿出来讲,主要是因为今天早上在温习nmap的时候,一不小心利用这个点,拿下了一位同事的电脑 ...
随机推荐
- [机器学习 ]PCA降维--两种实现 : SVD或EVD. 强力总结. 在鸢尾花数据集(iris)实做
PCA降维--两种实现 : SVD或EVD. 强力总结. 在鸢尾花数据集(iris)实做 今天自己实现PCA,从网上看文章的时候,发现有的文章没有搞清楚把SVD(奇异值分解)实现和EVD(特征值分解) ...
- java 接口一
一 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口 的子类)来完成.这样将功能的 ...
- 详解Java线程池的ctl(线程池控制状态)【源码分析】
0.综述 ctl 是线程池源码中常常用到的一个变量. 它的主要作用是记录线程池的生命周期状态和当前工作的线程数. 作者通过巧妙的设计,将一个整型变量按二进制位分成两部分,分别表示两个信息. 1.声明与 ...
- Flask实现RESTful API(注意参数位置解析)
准备工作 首先安装flask_restful三方组件 pip install flask_restful 在models.py中新建一个类,生成表,往里面插入一些数据.(flask要想使用ORM的话需 ...
- 【译】GitHub 为什么挂?官方的可行性报告为你解答
本文翻译自 GitHub 官方博客<Introducing the GitHub Availability Report> 原文链接:https://github.blog/2020-07 ...
- CC协议是怎么一回事?
CC协议是怎样的? CC-BY-NC-SA (创作共用许可协议) "知识共享"(CC协议)简单介绍 如何使用CC协议? CC 协议使用 FAQ CC协议选择工具 本文章采用 CC ...
- 双系统Linux和win10系统时间不一样。
https://jingyan.baidu.com/article/456c463b4e6a5a0a5831443a.html
- Mybatis如何在插入(ID是后台生成的)后返回ID?
获得ID方法:
- [netty4][netty-common]netty之ResourceLeakDetector的使用与实现
netty之ResourceLeakDetector的使用与实现 通过WeakReference和ReferenceQueue做针对需要手动释放的资源的侦测 使用 设置日志级别: ServerBoot ...
- Project ACRN documentation
Project ACRN documentation https://projectacrn.github.io/latest/index.html Virtio devices high-level ...