| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <document> |
| <properties> |
| <title>Flume Next Gen Appender</title> |
| <author email="rgoers@apache.org">Ralph Goers</author> |
| </properties> |
| |
| <body> |
| <section name="Flume Next Gen Appender"> |
| |
| <p> |
| The Flume NG Appender allows applications to send events to Flume NG Agents. |
| </p> |
| <subsection name="Remote Agent"> |
| <p> |
| Including the Log4j flume-ng jar in your Maven-based project as a dependency should cause all the |
| transitive dependencies necessary for the remote Agent to function to be included. |
| </p> |
| </subsection> |
| <subsection name="Persistent Agent"> |
| <p> |
| The persistent agent uses Berkeley DB. The following dependency should be added to your pom.xml |
| in addition to the log4j-flume-ng dependency. |
| </p> |
| <source><![CDATA[ |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>com.sleepycat</groupId> |
| <artifactId>je</artifactId> |
| <version>5.0.73</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>com.sleepycat</groupId> |
| <artifactId>je</artifactId> |
| </dependency> |
| </dependencies> |
| <repositories> |
| <repository> |
| <id>oracleReleases</id> |
| <name>Oracle Released Java Packages</name> |
| <url>http://download.oracle.com/maven</url> |
| <layout>default</layout> |
| </repository> |
| </repositories>]]></source> |
| </subsection> |
| |
| <subsection name="Embedded Agent"> |
| <p> |
| The following is a sample pom file for Maven that can be used as a template for integrating the |
| Flume Embedded Appender into an application. |
| </p> |
| <source><![CDATA[<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <groupId>com.myapp</groupId> |
| <artifactId>myapp</artifactId> |
| <version>0.0.1-SNAPSHOT</version> |
| <name>My App</name> |
| <description>App to test log4j appender</description> |
| |
| <properties> |
| <log4j.version>2.0-beta6</log4j.version> |
| <slf4j.version>1.6.6</slf4j.version> |
| <jackson.version>1.9.3</jackson.version> |
| </properties> |
| |
| <dependencyManagement> |
| <dependencies> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-ext</artifactId> |
| <version>${slf4j.version></version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| <version>${log4j2_version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-1.2-api</artifactId> |
| <version>${log4j2_version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| <version>${log4j2_version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-flume-ng</artifactId> |
| <version>${log4j2_version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-slf4j-impl</artifactId> |
| <version>${log4j2_version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-jcl</artifactId> |
| <version>${log4j2_version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-web</artifactId> |
| <version>${log4j2_version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-core-asl</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-mapper-asl</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-jaxrs</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.codehaus.jackson</groupId> |
| <artifactId>jackson-xc</artifactId> |
| <version>${jackson.version}</version> |
| </dependency> |
| </dependencies> |
| </dependencyManagement> |
| |
| <dependencies> |
| <!-- Log4j 2 API --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-api</artifactId> |
| </dependency> |
| <!-- Log4j 1.x API --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j12-api</artifactId> |
| </dependency> |
| <!-- Log4j 2 implementation --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-core</artifactId> |
| </dependency> |
| <!-- SLF4J to Log4j 2 binding --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>slf4j-impl</artifactId> |
| </dependency> |
| <!-- SLF4J API --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| </dependency> |
| <!-- SLF4J extensions --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-ext</artifactId> |
| </dependency> |
| <!-- Commson Logging to Log4j 2 binding --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-jcl</artifactId> |
| </dependency> |
| <!-- Log4j 2 Servlet Context Listener --> |
| <dependency> |
| <groupId>org.apache.logging.log4j</groupId> |
| <artifactId>log4j-web</artifactId> |
| </dependency> |
| <!-- Avro transport protocol - required for Flume --> |
| <dependency> |
| <groupId>org.apache.avro</groupId> |
| <artifactId>avro</artifactId> |
| <version>1.6.3</version> |
| </dependency> |
| <!-- Hadoop core - required by embedded Flume Agent --> |
| <dependency> |
| <groupId>org.apache.hadoop</groupId> |
| <artifactId>hadoop-core</artifactId> |
| <version>1.0.3</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>servlet-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.mortbay.jetty</groupId> |
| <artifactId>servlet-api-2.5</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <!-- Flume File Channel - required by embedded Flume agent --> |
| <dependency> |
| <groupId>org.apache.flume.flume-ng-channels</groupId> |
| <artifactId>flume-file-channel</artifactId> |
| <version>1.2.0</version> |
| <exclusions> |
| <exclusion> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| </dependencies> |
| </project>]]></source> |
| </subsection> |
| |
| </section> |
| |
| <section name="Requirements"> |
| <p> |
| The Flume NG Appender requires at least Java 6. |
| </p> |
| </section> |
| |
| </body> |
| </document> |