logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralph Goers (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (LOG4J2-240) Recursive call to appender error using Flume appender
Date Thu, 30 May 2013 18:46:21 GMT

     [ https://issues.apache.org/jira/browse/LOG4J2-240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Ralph Goers resolved LOG4J2-240.

    Resolution: Cannot Reproduce

I ran tests with your configuration against 2.0-beta5, 2.0-beta6 and 2.0-beta7-SNAPSHOT and
didn't get the recursive call to the appender on any of them. However, the FlumeAvroManager
was modified in 2.0-beta6 to use Flume's RPCClient so its behavior when starting up with no
agents available is a bit different than 2.0-beta5.
> 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 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: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org

View raw message