[ 
https://issues.apache.org/jira/browse/LOG4J2-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13650928#comment-13650928
 ] 

Robbie Strickland commented on LOG4J2-240:
------------------------------------------

In my case, the failure occurred because I was attempting to use the file 
channel on those nodes, but Hadoop (which is required for the file channel to 
work) was not present.  This caused the startup to fail and resulted in the 
log4j error.  So Flume was running but in a bad state, which seems to be the 
root cause of the issue.
                
> Recursive call to appender error using Flume appender
> -----------------------------------------------------
>
>                 Key: LOG4J2-240
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-240
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Appenders
>    Affects Versions: 2.0-beta5
>         Environment: Ubuntu 12
>            Reporter: Robbie Strickland
>              Labels: flume
>
> I am using Log4j2 with the Flume appender with the following configuration:
> <?xml version="1.0" encoding="UTF-8"?>
> <configuration status="debug" name="ALI" packages="">
>   <appenders>
>     <Flume name="eventLogger" suppressExceptions="false" compress="false">
>       <Agent host="localhost" port="4141"/>
>       <RFC5424Layout enterpriseNumber="18060" includeMDC="true" 
> appName="com.weather.ali"/>
>     </Flume>
>     <RollingFile name="VTECs" fileName="logs/vtecs.log"
>                  
> filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
>       <PatternLayout>
>         <pattern>[%d{ISO8601}] %m%n</pattern>
>       </PatternLayout>
>       <Policies>
>         <TimeBasedTriggeringPolicy />
>         <SizeBasedTriggeringPolicy size="250 MB"/>
>       </Policies>
>     </RollingFile>
>   </appenders>
>   <loggers>
>     <root level="debug">
>       <appender-ref ref="eventLogger"/>
>     </root>
>     <logger name="VTEC" level="debug">
>       <appender-ref ref="VTECs"/>
>     </logger>
>   </loggers>
> </configuration>
> This works as expected on a couple nodes, but the remaining nodes produce the 
> following error:
> ERROR Recursive call to appender eventLogger
> Here is the full output of the Log4j bootstrap:
> 2013-05-07 09:21:59,033 DEBUG Calling createAgent on class 
> org.apache.logging.log4j.flume.appender.Agent for element Agent with 
> params(host="localhost", port="4141")
> 2013-05-07 09:21:59,040 DEBUG Calling createLayout on class 
> org.apache.logging.log4j.core.layout.RFC5424Layout for element RFC5424Layout 
> with params(facility="null", id="null", enterpriseNumber="18060", 
> includeMDC="true", mdcId="null", mdcPrefix="null", eventPrefix="null", 
> newLine="null", newLineEscape="null", appName="com.weather.ali", 
> messageId="null", mdcExcludes="null", mdcIncludes="null", mdcRequired="null", 
> charset="null", exceptionPattern="null", Configuration(MyApp))
> 2013-05-07 09:22:02,148 DEBUG Generated plugins in 3.106963125 seconds
> 2013-05-07 09:22:02,156 DEBUG Calling createAppender on class 
> org.apache.logging.log4j.flume.appender.FlumeAppender for element Flume with 
> params(agents={host=localhost port=4141}, properties={}, embedded="null", 
> type="null", dataDir="null", connectTimeout="null", requestTimeout="null", 
> agentRetries="null", maxDelay="null", name="eventLogger", 
> suppressExceptions="false", mdcExcludes="null", mdcIncludes="null", 
> mdcRequired="null", mdcPrefix="null", eventPrefix="null", compress="false", 
> batchSize="null", null, RFC5424Layout(facility=LOCAL0 appName=com.weather.ali 
> defaultId=Audit enterpriseNumber=18060 newLine=false includeMDC=true 
> messageId=null), null)
> 2013-05-07 09:22:02,159 DEBUG Starting FlumeAvroManager 
> FlumeAvro[localhost:4141]
> 2013-05-07 09:22:02,552 DEBUG Calling createAppenders on class 
> org.apache.logging.log4j.core.config.plugins.AppendersPlugin for element 
> appenders with params(appenders={eventLogger})
> 2013-05-07 09:22:06,774 DEBUG Generated plugins in 4.221008626 seconds
> 2013-05-07 09:22:06,776 DEBUG Calling createAppenderRef on class 
> org.apache.logging.log4j.core.config.AppenderRef for element appender-ref 
> with params(ref="eventLogger", level="null", null)
> 2013-05-07 09:22:06,778 DEBUG Calling createLogger on class 
> org.apache.logging.log4j.core.config.LoggerConfig$RootLogger for element root 
> with params(additivity="null", level="debug", includeLocation="null", 
> appender-ref={org.apache.logging.log4j.core.config.AppenderRef@55ed34f1}, 
> properties={}, Configuration(MyApp), null)
> 2013-05-07 09:22:06,779 DEBUG Calling createLoggers on class 
> org.apache.logging.log4j.core.config.plugins.LoggersPlugin for element 
> loggers with params(loggers={root})
> 2013-05-07 09:22:06,779 DEBUG Shutting down OutputStreamManager SYSTEM_OUT
> 2013-05-07 09:22:06,779 DEBUG Reconfiguration completed
> 2013-05-07 09:22:07,237 ERROR Recursive call to appender eventLogger
> Why would this work on some nodes and not on others? I have looked at the 
> code where this error is generated, and it appears to get called whenever the 
> appender code gets called more than once. I see no reason why this should 
> happen.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to