我在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 带来的异常的更多相关文章

  1. Logback日志基础配置以及自定义配置

    Logback日志基础配置 logback日志配置有很多介绍,但是有几个非常基础的,容易忽略的.下面是最简单的一个配置,注意加粗的描述 <?xml version="1.0" ...

  2. logback logback.xml常用配置详解(一)<configuration> and <logger>

    logback logback.xml常用配置详解(一)<configuration> and <logger> 博客分类: Log java loglogback  原创文章 ...

  3. logback的简单配置

    logback的简单配置: <?xml version="1.0" encoding="UTF-8"?> <configuration> ...

  4. logback.xml文件配置(按时间、文件大小和log名称生成日志)

    之前项目中日志多用的log4j2,偶然看到在importNew看到了logback,自己查了下,发现Logback和log4j是非常相似的,其作者也是同一个人,并且logback相比于log4j性能更 ...

  5. logback.xml常用配置

    一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和logback-acc ...

  6. SpringBoot Logback无法获取配置中心属性

    SpringBoot Logback无法获取配置中心属性 前言 最近在做项目中,需要把项目中的日志信息通过RabbitMQ将规定格式的消息发送到消息队列中,然后ELK系统通过消息队列拿日志并且保存起来 ...

  7. logback学习与配置使用

    Logback介绍 Logback 分为三个模块:Core.Classic 和 Access.Core模块是其他两个模块的基础. Classic模块扩展了core模块. Classic模块相当于log ...

  8. logback logback.xml常用配置详解(三)

    logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...

  9. 警惕phpstudy等开发神器使用默认配置可能带来的危险

    0x00 前言 其实这个点早在之前,我就已经想到了,当时也觉得没啥就记在了我的印象笔记里. 而今天重新把这个点拿出来讲,主要是因为今天早上在温习nmap的时候,一不小心利用这个点,拿下了一位同事的电脑 ...

随机推荐

  1. Java流程控制,for,switch,while.break,continue,return

    Java流程控制,for,switch,while.break,continue,return

  2. Ubuntu用户都应该了解的快捷键

    无论我们使用什么操作系统还是什么软件,快捷键都是非常有用的,因为可以在启动应用程序或跳转到所需窗口,可以快速进行很多操作,而无需动鼠标到处点,节省时间和精力,提高效率. 就像在Windows中一样,U ...

  3. java 匿名内部类与包的声明访问

    一 匿名内部类 1.匿名内部类的概念 内部类是为了应对更为复杂的类间关系.查看源代码中会涉及到,而在日常业务中很 难遇到,这里不做赘述. 最常用到的内部类就是匿名内部类,它是局部内部类的一种. 定义的 ...

  4. .NET 跨平台框架Avalonia UI: 填坑指北(二):在Linux上跑起来了

    上一章回顾:  .NET 跨平台框架Avalonia UI: 填坑指北(一):熟悉UI操作 本篇将要阐述 包括但不仅限于Avalonia及所有Windows到Linux跨平台开发 的一些注意事项: 一 ...

  5. 什么是c/c++编译

    GCC是什么 GNU Compiler Collection的缩写,一开始是c语言的编译器,但现今可以支持多种语言的编译工作,也支持了多个硬件平台的编译.总而言之,主流的c语言编译器就是这个gcc了. ...

  6. Scala集合中的函数(扩展)

    1.拉链(zip) 将两个集合进行 对偶元组合并,可以使用拉链 object Demo_031 { def main(args: Array[String]): Unit = { val list1 ...

  7. python爬虫以及后端开发--实用加密模板整理

    都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy 一.md5加密 1.简介 这是一种使用非常广泛的加密方式,不 ...

  8. MySQL SQL概述

    MySQL SQL概述 数据库的好处: •实现数据持久化 •使用完整的管理系统统一管理易 数据库的概念: DB:数据库(database):存储数据的“仓库”.它保存了一系列有组织的数据. DBMS: ...

  9. Robot Framework(6)——案例分层

    上一篇以gogomall的登录为例,记录了一个简单的登录流程的脚本,在实际应用中,当流程发生一些小的变动,或者前端代码改变,导致元素选择器失效,我们维护脚本的成本就比较大,需要一个一个去修改,所以,有 ...

  10. C++数的表示

    二进制B 八进制O 十进制D 十六进制H / 0x十六进制 十进制数转换成R进制数:整数部分除基取余,上右下左:小数部分乘基取整,上左下右.   浮点数的阶用一种称为移码的编码表示方法,方便对阶.阶的 ...