Sample using Event Hub Log4j Appender (#482)
* sample added for Log4j Event Hub appender * updated ReadME * updated files
This commit is contained in:
Родитель
09a38157db
Коммит
033cc8937b
|
@ -0,0 +1,14 @@
|
|||
# EventHub Appender Java Sample
|
||||
|
||||
This sample demonstrates the use of EventHubAppender for streaming/sending log4j2 logs to Azure Event Hub.
|
||||
The EventHubAppender extension (Log4j plugin) code can be found at https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/eventhubs/microsoft-azure-eventhubs-extensions
|
||||
|
||||
Note : The above extension depends on [this version of Azure Event Hubs library](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/eventhubs/microsoft-azure-eventhubs).
|
||||
|
||||
Steps to run the project :
|
||||
1. Clone the repository.
|
||||
2. Update the value of 'eventHubConnectionString' in src/main/resources/log4j2.xml file. (This is the config file)
|
||||
3. Update the value of 'classpathPrefix' element in the pom.xml file of the project
|
||||
4. Run 'mvn clean'
|
||||
5. Run 'mvn package'
|
||||
6. Run 'java -cp target/my-app-1.0-SNAPSHOT.jar:<classpath-to-jar-dependencies>/*: com.eventhubappendersample.app.App'
|
|
@ -0,0 +1,74 @@
|
|||
<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>log4jeventhubappendersample</groupId>
|
||||
<artifactId>log4jeventhubappendersample</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.0.0</version>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-api</artifactId>
|
||||
<version>2.13.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>[2.13.2,)</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.microsoft.azure</groupId>
|
||||
<artifactId>azure-eventhubs-extensions</artifactId>
|
||||
<version>3.3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.7.32</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-simple</artifactId>
|
||||
<version>1.7.32</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.0</version>
|
||||
<configuration>
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<debug>true</debug>
|
||||
<debuglevel>lines,vars,source</debuglevel>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<descriptorRefs>
|
||||
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||
</descriptorRefs>
|
||||
<archive>
|
||||
<manifest>
|
||||
<mainClass>com.microsoft.azure.eventhubs.samples.log4jeventhubappendersample.Log4JEventHubAppenderSample</mainClass>
|
||||
</manifest>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
|
@ -0,0 +1,29 @@
|
|||
package com.microsoft.azure.eventhubs.samples.log4jeventhubappendersample;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
/**
|
||||
* Hello world!
|
||||
*
|
||||
*/
|
||||
public class Log4JEventHubAppenderSample
|
||||
{
|
||||
private static final Logger logger = LogManager.getLogger(Log4JEventHubAppenderSample.class);
|
||||
public static void main( String[] args )
|
||||
{
|
||||
int i;
|
||||
for(i=0; i<=10;i++)
|
||||
{
|
||||
try {
|
||||
TimeUnit.SECONDS.sleep(1);
|
||||
logger.error("Hello World " + i);
|
||||
}
|
||||
|
||||
catch(InterruptedException e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Configuration status="all" packages="com.microsoft.azure.eventhubs.extensions.appender">
|
||||
<Appenders>
|
||||
<EventHub name="EventHub" ignoreExceptions="false" eventHubConnectionString="--event-hub-connection-string" immediateFlush="true">
|
||||
<JSONLayout />
|
||||
</EventHub>
|
||||
|
||||
<Console name="console" target="SYSTEM_OUT">
|
||||
<PatternLayout pattern="%msg%n" />
|
||||
</Console>
|
||||
|
||||
|
||||
</Appenders>
|
||||
|
||||
<Loggers>
|
||||
<Root level="all">
|
||||
<appender-ref ref="console" />
|
||||
<appender-ref ref="EventHub" />
|
||||
</Root>
|
||||
|
||||
</Loggers>
|
||||
</Configuration>
|
|
@ -30,7 +30,8 @@
|
|||
<module>Basic/SendBatch</module>
|
||||
<module>Basic/SimpleSend</module>
|
||||
<module>Basic/AsyncSend</module>
|
||||
<module>Basic/SimpleProxy</module>
|
||||
<module>Basic/SimpleProxy</module>
|
||||
<module>Basic/Log4jAppenderSample</module>
|
||||
<module>Benchmarks/AutoScaleOnIngress</module>
|
||||
<module>Benchmarks/IngressBenchmark</module>
|
||||
</modules>
|
||||
|
|
Загрузка…
Ссылка в новой задаче