当前位置: 首页 > 知识库问答 >
问题:

引起错误对appender的递归调用。有办法解决吗?

滕渝
2023-03-14

出现以下错误消息

ERROR Recursive call to appender file_appender

Log4j2-AppenderControl.isRecursiveCall()

@PerformanceSensitive
private boolean isRecursiveCall() {
    if (recursive.get() != null) {
        appenderErrorHandlerMessage("Recursive call to appender ");
        return true;
    }
    return false;
}

我甚至找到了上面的代码。有没有办法解决出现的错误?

任何帮助都将不胜感激。

http://apache-logging.6191.n7.nabble.com/Recursive-call-to-appender-stackoverflow-error-td60433.html

https://issues.apache.org/jira/browse/LOG4J2-2738

log4j2。xml

<Appenders>
    <Routing>    
        <Routes>
            <Route>  
                <RolingFile ... >
            </Route>  
        </Routes>
    </Routing>
</Appenders>

appenders中的正常日志记录可能会创建无限递归,Log4j将检测到该递归,并导致忽略递归事件。

https://logging.apache.org/log4j/log4j-2.2/manual/configuration.html

如果status属性设置为error,则只有错误消息才会写入控制台。这使得对配置错误进行故障排除成为可能。例如,如果将上述配置更改为将状态设置为错误,并且记录器声明为:

<logger name="EventLogger" level="info" additivity="false">
  <AppenderRef ref="Routng"/>
</logger>

共有1个答案

阚砚文
2023-03-14

当应用程序尝试记录某些内容、事件被路由到appender、appender尝试记录某些内容并且该事件被路由回同一appender时,会发生此错误。这可能会导致无休止的循环,从而导致堆栈溢出异常。相反,Log4j会检测并阻止这种情况。避免这种情况的方法是为导致问题的事件添加一个记录器,并禁用它们或将它们路由到其他appender。

 类似资料:
  • 本文向大家介绍详解java.lang.NumberFormatException错误及解决办法,包括了详解java.lang.NumberFormatException错误及解决办法的使用技巧和注意事项,需要的朋友参考一下 前言: 在做后台时用的jsp开发,在页面向controller传参时用String接收的参数,但是数据库实体中jies接收该参数时是int类型,做了一下强制转换,但是没有判断去

  • 本文向大家介绍详解Nginx 502错误解决办法,包括了详解Nginx 502错误解决办法的使用技巧和注意事项,需要的朋友参考一下 详解Nginx 502错误解决办法 1.配置错误 因为nginx找不到php-fpm了,所以报错,一般是fastcgi_pass后面的路径配置错误了,后面可以是socket或者是ip:port 2.资源耗尽 lnmp架构在处理php时,nginx直接调取后端的php-

  • 本文向大家介绍Android中 webView调用JS出错的解决办法,包括了Android中 webView调用JS出错的解决办法的使用技巧和注意事项,需要的朋友参考一下 问题     webView调用JS出错。 解决 将save方法修改为: 以上就是解决方法了,是不是很简单呢,希望小伙伴们能够喜欢。

  • 本文向大家介绍Redis 出现错误1067的解决办法,包括了Redis 出现错误1067的解决办法的使用技巧和注意事项,需要的朋友参考一下 Redis 出现错误1067的解决办法 一、问题描述: 在Windows启动Redis服务时,发生如下错误:       在Windows CMD命令行启动时提示: 二、解决方案: 产生这个问题(Redis服务无法启动)的原因是因为在配置文件(redis.wi

  • 本文向大家介绍Android 出现:java.lang.NoClassDefFoundError...错误解决办法,包括了Android 出现:java.lang.NoClassDefFoundError...错误解决办法的使用技巧和注意事项,需要的朋友参考一下 今天测试突然给我说我写的XX界面一点app就crash了! 纳尼,我肯定表示不服啊!怎么可能出现一点击就崩溃的情况呢,明明自己的测试了的

  • 本文向大家介绍java.lang.OutOfMemoryError 错误整理及解决办法,包括了java.lang.OutOfMemoryError 错误整理及解决办法的使用技巧和注意事项,需要的朋友参考一下 java.lang.OutOfMemoryError处理错误 java.lang.OutOfMemoryError异常解决方法 原因: 常见的有以下几种: 1.内存中加载的数据量过于庞大,如一