{"id":26234032,"url":"https://github.com/teragrep/jla_05","last_synced_at":"2025-04-22T12:11:49.639Z","repository":{"id":57728879,"uuid":"372466139","full_name":"teragrep/jla_05","owner":"teragrep","description":"Teragrep RELP appender for Log4j 1.x","archived":false,"fork":false,"pushed_at":"2024-01-23T08:57:19.000Z","size":43,"stargazers_count":0,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T15:02:13.667Z","etag":null,"topics":["java","log","log-management","log4j","log4j-appender","logger","logging","relp","relp-client","syslog","syslog-client","teragrep"],"latest_commit_sha":null,"homepage":"https://teragrep.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teragrep.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-05-31T10:22:22.000Z","updated_at":"2025-01-28T11:48:00.000Z","dependencies_parsed_at":"2022-09-09T10:00:46.648Z","dependency_job_id":"8aa1e5f8-2e50-4418-8b49-1ae1a9b053ef","html_url":"https://github.com/teragrep/jla_05","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fjla_05","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fjla_05/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fjla_05/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teragrep%2Fjla_05/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teragrep","download_url":"https://codeload.github.com/teragrep/jla_05/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237834,"owners_count":21397401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","log","log-management","log4j","log4j-appender","logger","logging","relp","relp-client","syslog","syslog-client","teragrep"],"created_at":"2025-03-13T01:18:32.183Z","updated_at":"2025-04-22T12:11:49.602Z","avatar_url":"https://github.com/teragrep.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Log4j RELP Plugin\n\nimage::https://scan.coverity.com/projects/23199/badge.svg[Build Status, link=\"https://scan.coverity.com/projects/jla_05\"]\n\nCreates Log4j appender that uses RELP to ensure no events are lost.\n\nSee https://github.com/teragrep/jla_05/blob/master/src/main/resources/log4j.example.properties[log4j.example.properties] for example config\n\n== Please note\n\nPlease note that regarding log4j version 1.2.17 following vulnerabilities exist and we recommend not to use these features:\n\n* https://nvd.nist.gov/vuln/detail/CVE-2020-9488[CVE-2020-9488] Improper validation of certificate with host mismatch in Apache Log4j SMTP appender.\n* https://nvd.nist.gov/vuln/detail/CVE-2019-17571[CVE-2019-17571] Included in Log4j 1.2 is a SocketServer class that is vulnerable to deserialization of untrusted data which can be exploited to remotely execute arbitrary code when combined with a deserialization gadget when listening to untrusted network traffic for log data.\n\n== Property explanations\n\n|===\n|Property |Description\n\n|log4j.appender.RELPAPPENDER.relpAddress\n|Connection destination address\n \n|log4j.appender.RELPAPPENDER.relpPort\n|Connection destination port\n \n|log4j.appender.RELPAPPENDER.appName\n|Stream application identifier. Maximum length of 48 characters, limited by RFC5424\n \n|log4j.appender.RELPAPPENDER.hostname\n|Stream host identifier. Maximum length of 255 characters, limited by RFC5424\n \n|log4j.appender.RELPAPPENDER.connectionTimeout\n|Time to wait before timing out connection\n \n|log4j.appender.RELPAPPENDER.writeTimeout\n|Time to wait for destination to accept data\n \n|log4j.appender.RELPAPPENDER.readTimeout\n|Time to wait for destination to acknowledge sent data (low values cause duplicates)\n \n|log4j.appender.RELPAPPENDER.reconnectInterval\n|Time to wait between re-connection attempts\n \n|log4j.appender.RELPAPPENDER.useSD\n|Enables structured data containing uuid and source information\n|===\n\n== Usage\n\nPass log4j.properties file as property\n\n```\n-Dlog4j.configuration=file:/path/to/log4j.properties\n```\n\nUsing the logger\n\n```\nstatic Logger logger = Logger.getLogger(MyClass.class.getName());\nlogger.info(\"Info Message\");\nlogger.warn(\"Warning message\");\nlogger.trace(\"Trace message\");\n// Finally shutdown so RELP can disconnect gracefully\nLogManager.shutdown();\n```\n\n== Maven dependency definition\n\n```\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.teragrep\u003c/groupId\u003e\n    \u003cartifactId\u003ejla_05\u003c/artifactId\u003e\n    \u003cversion\u003e%VERSION%\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n== Configuring pre-built log4j application\n\nFirst download wanted versions of jla_05, rlp_01 and rlo_14 from the following urls:\n\n* https://search.maven.org/artifact/com.teragrep/jla_05[jla_05]\n* https://search.maven.org/artifact/com.teragrep/rlp_01[rlp_01]\n* https://search.maven.org/artifact/com.teragrep/rlo_14[rlo_14]\n\nThen run java while pointing classpath to the directory where you downloaded the jars to like:\n\n```\njava -cp \"path/to/downloaded/jars/*:target/example.jar\" com.teragrep.example.Main\n```\n\n== Contributing\n \n// Change the repository name in the issues link to match with your project's name\n \nYou can involve yourself with our project by https://github.com/teragrep/jla_05/issues/new/choose[opening an issue] or submitting a pull request.\n \nContribution requirements:\n \n. *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.\n. Security checks must pass\n. Pull requests must align with the principles and http://www.extremeprogramming.org/values.html[values] of extreme programming.\n. Pull requests must follow the principles of Object Thinking and Elegant Objects (EO).\n \nRead more in our https://github.com/teragrep/teragrep/blob/main/contributing.adoc[Contributing Guideline].\n \n=== Contributor License Agreement\n \nContributors 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.\n \nYou need to submit the CLA only once. After submitting the CLA you can contribute to all Teragrep's repositories. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteragrep%2Fjla_05","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteragrep%2Fjla_05","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteragrep%2Fjla_05/lists"}