A library for logging HTTP request/response for Spring Boot application and integration with Elastic Stack
This library is created for logging incoming HTTP requests and outgoing HTTP responses and send these logs automatically to Logstash.
Detailed description can be found here:
In short, let’s begin from a brief review of main features provided by logstash-logging-spring-boot-starter:
The current version of library is 2.0.3
.
For logging with Spring WebMvc and Logstash:
<dependency>
<groupId>com.github.piomin</groupId>
<artifactId>logstash-logging-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
For logging with Spring WebMvc and Loki:
<dependency>
<groupId>com.github.piomin</groupId>
<artifactId>loki-logging-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
For logging with Spring WebFlux:
<dependency>
<groupId>com.github.piomin</groupId>
<artifactId>reactive-logstash-logging-spring-boot-starter</artifactId>
<version>2.0.3</version>
</dependency>
By default, the library is enabled, but tries to locate Logback configuration inside your application to settings for Logstash appender. If such appender won’t be found, the library uses Spring Boot default logging configuration, which does not include Logstash appender. To force it use auto-configured appender definition inside library we have to set property logging.logstash.enabled
to true
.
logging.logstash:
enabled: true
url: loki.example.com:5000
Add reactive-logstash-logging-spring-boot-starter-2.0.3.pom
to ${basedir}/dependencies
Add pom.xml
to ${basedir}/dependencies
and rename to reactive-logstash-logging-spring-boot-starter-2.0.3.pom
Add this script to pom.xml
in plugins section.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<groupId>com.github.piomin</groupId>
<artifactId>reactive-logstash-logging-spring-boot-starter</artifactId>
<version>2.0.3</version>
<packaging>jar</packaging>
<file>${basedir}/dependencies/reactive-logstash-logging-spring-boot-starter-1.3.1.RELEASE.jar</file>
<generatePom>false</generatePom>
<pomFile>${basedir}/dependencies/reactive-logstash-logging-spring-boot-starter-1.3.1.RELEASE.pom</pomFile>
</configuration>
<executions>
<execution>
<id>install-jar-lib</id>
<goals>
<goal>install-file</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>