https://github.com/teragrep/jla_06
Teragrep RELP appender for Log4j2
https://github.com/teragrep/jla_06
java log log-management log4j2 log4j2-appender logger logging relp relp-client syslog syslog-client
Last synced: about 2 months ago
JSON representation
Teragrep RELP appender for Log4j2
- Host: GitHub
- URL: https://github.com/teragrep/jla_06
- Owner: teragrep
- License: apache-2.0
- Created: 2021-07-06T08:28:02.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-12-19T23:55:52.000Z (6 months ago)
- Last Synced: 2025-12-31T16:39:55.512Z (5 months ago)
- Topics: java, log, log-management, log4j2, log4j2-appender, logger, logging, relp, relp-client, syslog, syslog-client
- Language: Java
- Homepage: https://teragrep.com
- Size: 51.8 KB
- Stars: 0
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
= Log4j2 RELP Plugin
== Usage
Pass log4j2.properties file as property
```
-Dlog4j2.configurationFile=file:/path/to/log4j2.properties
```
== Example log4j2.properties
```sh
name=PropertiesConfig
filters=threshold
filter.threshold.type=ThresholdFilter
filter.threshold.level=DEBUG
appenders=RelpAppender
appender.RelpAppender=com.teragrep.jla_06.RelpAppender
appender.RelpAppender.name=RelpAppender
appender.RelpAppender.type=RelpAppender
appender.RelpAppender.layout.type=PatternLayout
appender.RelpAppender.layout.pattern=[%p] [%F#%L] [%C] %m%n
appender.RelpAppender.relpAddress=localhost
appender.RelpAppender.relpPort=1666
appender.RelpAppender.appName=jla_06
appender.RelpAppender.hostname=localhost
appender.RelpAppender.connectionTimeout=5000
appender.RelpAppender.writeTimeout=2000
appender.RelpAppender.readTimeout=15000
appender.RelpAppender.reconnectInterval=3000
appender.RelpAppender.useSD=true
appender.RelpAppender.enableSystemID=false
appender.RelpAppender.systemID=""
appender.RelpAppender.rebindRequestAmount=100000
appender.RelpAppender.rebindEnabled=true
appender.RelpAppender.reconnectIfNoMessagesInterval=150000
appender.RelpAppender.synchronizedAccess=false
logger.RelpAppender.name=RelpAppender
logger.RelpAppender.level=debug
logger.RelpAppender.appenderRef.RelpAppender.ref=RelpAppender
rootLogger.level=debug
rootLogger.appenderRef.stdout.ref=RelpAppender
log4j2.shutdownHookEnabled=false
```
== JLA_06 specific property explanations
|===
|Property |Description
|appender.RelpAppender.relpAddress
|Connection destination address
|appender.RelpAppender.relpPort
|Connection destination port
|appender.RelpAppender.appName
|Stream application identifier. Maximum length of 48 characters, limited by RFC5424
|appender.RelpAppender.hostname
|Stream host identifier. Maximum length of 255 characters, limited by RFC5424
|appender.RelpAppender.connectionTimeout
|Time to wait before timing out connection
|appender.RelpAppender.writeTimeout
|Time to wait for destination to accept data
|appender.RelpAppender.readTimeout
|Time to wait for destination to acknowledge sent data (low values cause duplicates)
|appender.RelpAppender.reconnectInterval
|Time to wait between re-connection attempts
|appender.RelpAppender.useSD
|Enables structured data containing uuid and source information
|===
|appender.RelpAppender.enableSystemID
|Enables structured data containing SystemID information
|===
|appender.RelpAppender.systemID
|Value used for systemID when enableSystemID=true
|===
|appender.RelpAppender.rebindRequestAmount
|How often will the RELP connection be rebounded
|===
|appender.RelpAppender.rebindEnabled
|Whether rebinding the RELP connection is enabled
|===
|appender.RelpAppender.reconnectIfNoMessagesInterval
|Reconnect RELP if last message was over reconnectIfNoMessagesInterval milliseconds ago.
|===
|appender.RelpAppender.synchronizedAccess
|Whether to use Synchronized RelpLogAppender
|===
== Maven dependency definition
```
com.teragrep
jla_06
%VERSION%
```
== Configuring pre-built log4j2 application
First download wanted versions of jla_06, rlp_01 and syslog-java-client from the following urls:
* https://search.maven.org/artifact/com.teragrep/jla_06[jla_06]
* https://search.maven.org/artifact/com.teragrep/rlp_01[rlp_01]
* https://search.maven.org/artifact/com.cloudbees/syslog-java-client[syslog-java-client]
Then run java while pointing classpath to the directory where you downloaded the jars to like:
```
java -cp "path/to/downloaded/jars/*:target/example.jar" com.teragrep.example.Main
```
== Contributing
// Change the repository name in the issues link to match with your project's name
You can involve yourself with our project by https://github.com/teragrep/jla_06/issues/new/choose[opening an issue] or submitting a pull request.
Contribution requirements:
. *All changes must be accompanied by a new or changed test.* If you think testing is not required in your pull request, include a sufficient explanation as why you think so.
. Security checks must pass
. Pull requests must align with the principles and http://www.extremeprogramming.org/values.html[values] of extreme programming.
. Pull requests must follow the principles of Object Thinking and Elegant Objects (EO).
Read more in our https://github.com/teragrep/teragrep/blob/main/contributing.adoc[Contributing Guideline].
=== Contributor License Agreement
Contributors must sign https://github.com/teragrep/teragrep/blob/main/cla.adoc[Teragrep Contributor License Agreement] before a pull request is accepted to organization's repositories.
You need to submit the CLA only once. After submitting the CLA you can contribute to all Teragrep's repositories.