java - 如何理解 logback 的 writeLoopOnConverters 抛出 stackoverflow
问题描述
当我的应用程序写入目标硬盘发生故障时。
java程序抛出异常如下:
Caused by: java.lang.StackOverflowError: null
at java.base/java.text.SimpleDateFormat.zeroPaddingNumber(SimpleDateFormat.java:1405)
at java.base/java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1180)
at java.base/java.text.SimpleDateFormat.format(SimpleDateFormat.java:997)
at java.base/java.text.SimpleDateFormat.format(SimpleDateFormat.java:967)
at java.base/java.text.DateFormat.format(DateFormat.java:374)
at ch.qos.logback.core.util.CachingDateFormatter.format(CachingDateFormatter.java:48)
at ch.qos.logback.classic.pattern.DateConverter.convert(DateConverter.java:61)
at ch.qos.logback.classic.pattern.DateConverter.convert(DateConverter.java:23)
at ch.qos.logback.core.pattern.FormattingConverter.write(FormattingConverter.java:36)
at ch.qos.logback.core.pattern.PatternLayoutBase.writeLoopOnConverters(PatternLayoutBase.java:115)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:141)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:39)
at ch.qos.logback.core.encoder.LayoutWrappingEncoder.encode(LayoutWrappingEncoder.java:115)
at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:230)
at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:235)
at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
解决方案
推荐阅读
- javascript - 为什么我的 JavaScript 数组在推送数据后是空的?
- tcl - foreach 循环表示右大括号后有多余的字符。无法识别在哪里
- java - 如何将 Class 分配给从 Firestore 检索的数据?
- mysql - MySQL 排除行子查询
- jpa - java.sql.SQLException:jpa 中的列名无效
- java - 第K个最小元素和第K个元素?
- typescript - 从泛型函数的声明中获取参数 - TypeScript 3.3
- vba - 对相同的“with...”参数使用多个集合(或其他类型)?
- python - Zipfile namelist() 缺少存档中的成员
- python - Django - 使用 slug 和 kwargs 重定向 reverse()