This is an automated email from the ASF dual-hosted git repository.
yuqi4733 pushed a commit to branch branch-0.7
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/branch-0.7 by this push:
new 601823f69 [#5389] feat(logging): add
org.apache.logging.log4j:log4j-layout-template-json to support server log in
json format (#5407)
601823f69 is described below
commit 601823f69d92c3455f547eb67cf6c30f80dca824
Author: Jerry Shao <[email protected]>
AuthorDate: Fri Nov 1 09:36:32 2024 +0800
[#5389] feat(logging): add
org.apache.logging.log4j:log4j-layout-template-json to support server log in
json format (#5407)
### What changes were proposed in this pull request?
Add org.apache.logging.log4j:log4j-layout-template-json to support
server log in json format.
### Why are the changes needed?
There are use cases required server logs to be viewed from logsearch
tools such as Kibana. These use cases recommends log format to be json.
Based on
https://logging.apache.org/log4j/2.x/manual/json-template-layout.html,
`log4j-layout-template-json` is needed to enable json layout for log4j.
Fix: https://github.com/apache/gravitino/issues/5389
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Tested locally with modified lo4j property file.
```
appender.rolling.layout.type = JsonTemplateLayout
appender.rolling.layout.eventTemplate =
{"instant":{"$resolver":"timestamp","pattern":{"format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","timeZone":"UTC"}},"level":{"$resolver":"level","field":"name"},"thread":{"$resolver":"thread","field":"name"},"message":{"$resolver":"message","stringified":true},"exception":{"$resolver":"exception","field":"stackTrace","stackTrace":{"stringified":true}}}
```
For better usability, json can be passed in via a individual file using
[eventTemplateUri](https://logging.apache.org/log4j/2.x/manual/json-template-layout.html#plugin-attr-eventTemplateUri)
instead.
Co-authored-by: Pucheng Yang <[email protected]>
---
LICENSE.bin | 1 +
gradle/libs.versions.toml | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/LICENSE.bin b/LICENSE.bin
index 1bdb9864d..738687a6a 100644
--- a/LICENSE.bin
+++ b/LICENSE.bin
@@ -312,6 +312,7 @@
Apache Log4j API
Apache Log4j Core
Apache Log4j SLF4J 2.0 Binding
+ Apache Log4j Layout For Templated JSON Encoding
Apache ORC
Apache Parquet Hadoop Bundle
Apache Thrift
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index e0cd9c7d7..c8beae3db 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -135,6 +135,7 @@ log4j-slf4j2-impl = { group = "org.apache.logging.log4j",
name = "log4j-slf4j2-i
log4j-api = { group = "org.apache.logging.log4j", name = "log4j-api",
version.ref = "log4j" }
log4j-core = { group = "org.apache.logging.log4j", name = "log4j-core",
version.ref = "log4j" }
log4j-12-api = { group = "org.apache.logging.log4j", name = "log4j-1.2-api",
version.ref = "log4j" }
+log4j-layout-template-json = { group = "org.apache.logging.log4j", name =
"log4j-layout-template-json", version.ref = "log4j" }
jetty-server = { group = "org.eclipse.jetty", name = "jetty-server",
version.ref = "jetty" }
jetty-servlet = { group = "org.eclipse.jetty", name = "jetty-servlet",
version.ref = "jetty" }
jetty-servlets = { group = "org.eclipse.jetty", name = "jetty-servlets",
version.ref = "jetty" }
@@ -258,7 +259,7 @@ google-auth-http = { group = "com.google.auth", name =
"google-auth-library-oaut
google-auth-credentials = { group = "com.google.auth", name =
"google-auth-library-credentials", version.ref = "google-auth" }
[bundles]
-log4j = ["slf4j-api", "log4j-slf4j2-impl", "log4j-api", "log4j-core",
"log4j-12-api"]
+log4j = ["slf4j-api", "log4j-slf4j2-impl", "log4j-api", "log4j-core",
"log4j-12-api", "log4j-layout-template-json"]
jetty = ["jetty-server", "jetty-servlet", "jetty-webapp", "jetty-servlets"]
jersey = ["jersey-server", "jersey-container-servlet-core",
"jersey-container-jetty-http", "jersey-media-json-jackson", "jersey-hk2"]
iceberg = ["iceberg-core", "iceberg-api"]