Return-Path: X-Original-To: apmail-logging-commits-archive@minotaur.apache.org Delivered-To: apmail-logging-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8CAF7DBD4 for ; Thu, 30 May 2013 00:11:51 +0000 (UTC) Received: (qmail 71068 invoked by uid 500); 30 May 2013 00:11:51 -0000 Delivered-To: apmail-logging-commits-archive@logging.apache.org Received: (qmail 71039 invoked by uid 500); 30 May 2013 00:11:51 -0000 Mailing-List: contact commits-help@logging.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@logging.apache.org Delivered-To: mailing list commits@logging.apache.org Received: (qmail 71032 invoked by uid 99); 30 May 2013 00:11:51 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 May 2013 00:11:51 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 30 May 2013 00:11:49 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 58D252388847; Thu, 30 May 2013 00:11:30 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1487687 - in /logging/log4j/log4j2/trunk: flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/ flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/ flume-ng/src/test/resources/ src/changes/ src/site/xdoc/manual/ Date: Thu, 30 May 2013 00:11:30 -0000 To: commits@logging.apache.org From: rgoers@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20130530001130.58D252388847@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: rgoers Date: Thu May 30 00:11:29 2013 New Revision: 1487687 URL: http://svn.apache.org/r1487687 Log: LOG4J2-262 - Add support for interceptors to Flume Embedded Appender Modified: logging/log4j/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedManager.java logging/log4j/log4j2/trunk/flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java logging/log4j/log4j2/trunk/flume-ng/src/test/resources/embedded.xml logging/log4j/log4j2/trunk/src/changes/changes.xml logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml Modified: logging/log4j/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedManager.java URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedManager.java?rev=1487687&r1=1487686&r2=1487687&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedManager.java (original) +++ logging/log4j/log4j2/trunk/flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedManager.java Thu May 30 00:11:29 2013 @@ -274,7 +274,8 @@ public class FlumeEmbeddedManager extend throw new ConfigurationException(msg); } - if (upperKey.startsWith("SOURCES.")) { + // Prohibit setting the sources as they are set above but allow interceptors to be set + if (upperKey.startsWith("SOURCES.") && !upperKey.startsWith("SOURCES.LOG4J-SOURCE.INTERCEPTORS")) { final String msg = "Specification of Sources is not allowed in Flume Appender: " + key; LOGGER.error(msg); throw new ConfigurationException(msg); Modified: logging/log4j/log4j2/trunk/flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java?rev=1487687&r1=1487686&r2=1487687&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java (original) +++ logging/log4j/log4j2/trunk/flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java Thu May 30 00:11:29 2013 @@ -193,6 +193,18 @@ public class FlumeEmbeddedAppenderTest { } @Test + public void testHeaderAddedByInterceptor() throws InterruptedException, IOException { + + final StructuredDataMessage msg = new StructuredDataMessage("Test", "Test Log4j", "Test"); + EventLogger.logEvent(msg); + + final Event event = primary.poll(); + Assert.assertNotNull(event); + String environmentHeader = event.getHeaders().get("environment"); + Assert.assertEquals("local", environmentHeader); + } + + @Test public void testPerformance() throws Exception { long start = System.currentTimeMillis(); int count = 10000; Modified: logging/log4j/log4j2/trunk/flume-ng/src/test/resources/embedded.xml URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/flume-ng/src/test/resources/embedded.xml?rev=1487687&r1=1487686&r2=1487687&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/flume-ng/src/test/resources/embedded.xml (original) +++ logging/log4j/log4j2/trunk/flume-ng/src/test/resources/embedded.xml Thu May 30 00:11:29 2013 @@ -4,6 +4,10 @@ primary memory + environment_interceptor + static + environment + local agent1 agent2 primary avro Modified: logging/log4j/log4j2/trunk/src/changes/changes.xml URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/changes/changes.xml?rev=1487687&r1=1487686&r2=1487687&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/src/changes/changes.xml (original) +++ logging/log4j/log4j2/trunk/src/changes/changes.xml Thu May 30 00:11:29 2013 @@ -22,6 +22,9 @@ + + Add support for interceptors in the embedded Flume Appender. + Use transaction when batch size is 1. Modified: logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml?rev=1487687&r1=1487686&r2=1487687&view=diff ============================================================================== --- logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml (original) +++ logging/log4j/log4j2/trunk/src/site/xdoc/manual/appenders.xml Thu May 30 00:11:29 2013 @@ -878,7 +878,8 @@ Property[]

One or more Property elements that are used to configure the Flume Agent. The properties must be configured without the agent name (the appender name is used for this) and no sources can be - configured. All other Flume configuration properties are allowed. Specifying both Agent and Property + configured. Interceptors can be specified for the source using "sources.log4j-source.interceptors". + All other Flume configuration properties are allowed. Specifying both Agent and Property elements will result in an error.

When used to configure in Persistent mode the valid properties are: