logging-log4j-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asaf Erlich (JIRA)" <j...@apache.org>
Subject [jira] [Created] (LOG4J2-291) Failover appender doesn't fail over on JDBC appender error
Date Fri, 21 Jun 2013 15:08:21 GMT
Asaf Erlich created LOG4J2-291:
----------------------------------

             Summary: Failover appender doesn't fail over on JDBC appender error
                 Key: LOG4J2-291
                 URL: https://issues.apache.org/jira/browse/LOG4J2-291
             Project: Log4j 2
          Issue Type: Bug
          Components: Appenders
    Affects Versions: 2.0-beta7
         Environment: Java version 1.6_045 and Oracle 11g 11.2.0.3.0 database on 64-bit machine.
 It's running within eclipse but I don't think that should make a difference.
            Reporter: Asaf Erlich
            Priority: Minor


When I configure a Failover appender using the jdbc appender as primary and console/file as
secondary if I get a database error It prints something to System.err, but not to the file/console
as expected.

How to recreate:

Make sure a jdbc appender works first.

Prepare a configuration similar to the one below:

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="WARN">
	<appenders>
		<Jdbc name="HubManagerDatabaseLog" tablename="HUB_MANAGER_LOG">
			<ConnectionFactory class="com.somecompany.server.dal.DalCommon" method="getDatabaseInstanceConnection"/>
			<Column name="LOG_DATE" isEventTimestamp="true" />
			<Column name="LOG_THREAD" pattern="%thread" />
			<Column name="LOG_LEVEL" pattern="%level" />
			<Column name="LOG_CLASS" pattern="%logger" />
			<Column name="LOG_METHOD" pattern="%method" />
			<Column name="LOG_MESSAGE" pattern="%message" />
			<Column name="LOG_EXCEPTION" pattern="%exception" />
		</Jdbc>
		<FastRollingFile name="HubManagerFileLog" filename="logs/HubManager.log" filePattern="logs/HubManager-%d{COMPACT}.log">
			<PatternLayout pattern="%d [%thread] %-5level %logger.%method - %message %exception%n"
/>
			<Policies>
				<SizeBasedTriggeringPolicy size="5MB"/>
			</Policies>
<!-- 			<DefaultRolloverStrategy max="50"/> -->
		</FastRollingFile>
		<Console name="Console" target="SYSTEM_OUT">
			<PatternLayout pattern="%d [%thread] %-5level %logger.%method - %message %exception%n"
/>
		</Console>
		<Failover name="PrimaryDatabaseLoggingIfFailGoToFile" primary="HubManagerDatabaseLog"
suppressExceptions="false">
			<Failovers>
				<appender-ref ref="HubManagerFileLog"/>
			</Failovers>
		</Failover>
	</appenders>
	
	<loggers>
		<logger name="com.exzac" level="DEBUG">
			<appender-ref ref="PrimaryDatabaseLoggingIfFailGoToFile"/>
			<appender-ref ref="Console"/>
		</logger>
		<root level="DEBUG">
		</root>
	</loggers>
</configuration>

Run the following in a test java class that correctly has the above xml configuration on the
build path:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class TestFailOverAppender {
	private static final Logger LOGGER = LogManager.getLogger(TestFailOverAppender.class);

	public static void main(final String[] args) {
		final String shortString = "FailOver Short message that should go to database";
		LOGGER.info(shortString);
		final StringBuilder longString = new StringBuilder(shortString);
		while (longString.length() < 4000) {
			longString.append(shortString);
		}

		LOGGER.info(longString.toString());
		LOGGER.info("FailOver short string after message");
	}
}

I have tried setting suppressExceptions as false/true.  I have tried replacing the fileappender
(which works normally) with just console instead and saw the same result.  This may or may
not be related to another JIRA issue I found, LOG4J2-126.

If there is simply something wrong with my configuration please let me know.  I tried following
the documentation as much as possible.  Thank you.

--
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


Mime
View raw message