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

FailoverAppender does not retry back for Primary target

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment