Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-469

FailoverAppender does not retry back for Primary target

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0-beta9
    • 2.0-rc2
    • Appenders
    • JBoss 6.1.1, Spring-MVC, Log4j2 beta-9, Windows 7, Eclipse Kelper

    Description

      Hi,

      In my product, I am using log4j2 for logging onto MySQL database. For that I am using JDBC as Primary and RollingRandomAccessFile as Secondary Appender.
      It works well and logs goes to Secondary appender when Primary appender fails (due to MySQL connection lost). But when MySQL connection comes back, it does not logs back to MySQL until I restart the JBoss Server.
      Is this a expected behavior? Or I am missing something in configuration file.

      Following is the my log4j2.xml file.

          <?xml version="1.0" encoding="UTF-8"?>
      <Configuration status="error">
      	<Appenders>
      		<JDBC name="databaseAppender" tableName="system_log" ignoreExceptions="false" bufferSize="10">
      			<DriverManager url="jdbc:mysql://localhost:3306/xxxid_db"
      				username="root" password="xxxxxxwing" />
      			<Column name="log_id" pattern="%x" />
      			<Column name="log_dated" isEventTimestamp="true" />
      			<Column name="log_logger" pattern="%logger" />
      			<Column name="log_level" pattern="%level" />
      			<Column name="log_message" pattern="%message" />
      			<Column name="log_throwable" pattern="%ex{full}" />
      		</JDBC>
      		<RollingRandomAccessFile name="RollingRandomAccessFile"
      			fileName="${sys:jboss.server.log.dir}/app.log" filePattern="${sys:jboss.server.log.dir}/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
      			<PatternLayout>
      				<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
      			</PatternLayout>
      			<Policies>
      				<TimeBasedTriggeringPolicy />
      				<SizeBasedTriggeringPolicy size="250 MB" />
      			</Policies>
      		</RollingRandomAccessFile>
      		<Failover name="Failover" primary="databaseAppender" ignoreExceptions="false">
      			<Failovers>
      				<AppenderRef ref="RollingRandomAccessFile" />
      			</Failovers>
      		</Failover>
      	</Appenders>
      	<Loggers>
      		<Root level="warn">
      			<AppenderRef ref="Failover" />
      		</Root>
      	</Loggers>
      </Configuration>
      

      Thank You,
      Indrajit

      Attachments

        Issue Links

          Activity

            People

              rgoers Ralph Goers
              indrajit3010 Indrajit Pingale
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: