Skip to content

Commit 07fdd5e

Browse files
remove scanmetadabuilder and new contextmdcpatternconverter added
1 parent de6ab58 commit 07fdd5e

File tree

4 files changed

+44
-20
lines changed

4 files changed

+44
-20
lines changed

grpc-context-utils/src/main/java/org/hypertrace/core/grpcutils/context/ScanMetadataBuilder.java

Lines changed: 0 additions & 20 deletions
This file was deleted.

grpc-server-utils/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ dependencies {
1414
api(commonLibs.grpc.api)
1515
implementation(projects.grpcContextUtils)
1616
implementation(commonLibs.slf4j2.api)
17+
compileOnly("org.apache.logging.log4j:log4j-core:2.20.0")
1718

1819
annotationProcessor(commonLibs.lombok)
1920
compileOnly(commonLibs.lombok)

grpc-server-utils/gradle.lockfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ io.netty:netty-bom:4.1.125.Final=compileClasspath,runtimeClasspath,testCompileCl
2424
io.perfmark:perfmark-api:0.27.0=runtimeClasspath,testRuntimeClasspath
2525
net.bytebuddy:byte-buddy-agent:1.14.10=testCompileClasspath,testRuntimeClasspath
2626
net.bytebuddy:byte-buddy:1.14.10=testCompileClasspath,testRuntimeClasspath
27+
org.apache.logging.log4j:log4j-api:2.20.0=compileClasspath
28+
org.apache.logging.log4j:log4j-core:2.20.0=compileClasspath
2729
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
2830
org.checkerframework:checker-qual:3.43.0=runtimeClasspath,testRuntimeClasspath
2931
org.codehaus.mojo:animal-sniffer-annotations:1.24=runtimeClasspath,testRuntimeClasspath
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.hypertrace.core.grpcutils.server;
2+
3+
import org.apache.logging.log4j.core.LogEvent;
4+
import org.apache.logging.log4j.core.config.plugins.Plugin;
5+
import org.apache.logging.log4j.core.pattern.ConverterKeys;
6+
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
7+
import org.apache.logging.log4j.core.pattern.PatternConverter;
8+
import org.apache.logging.log4j.util.ReadOnlyStringMap;
9+
10+
@Plugin(name = "ctxParams", category = PatternConverter.CATEGORY)
11+
@ConverterKeys({"ctxParams"})
12+
public class ContextMdcPatternConverter extends LogEventPatternConverter {
13+
14+
private static final String CTX_PREFIX = "x-ctx-";
15+
16+
private ContextMdcPatternConverter() {
17+
super("ctxParams", "ctxParams");
18+
}
19+
20+
public static ContextMdcPatternConverter newInstance(String[] options) {
21+
return new ContextMdcPatternConverter();
22+
}
23+
24+
@Override
25+
public void format(LogEvent event, StringBuilder toAppendTo) {
26+
ReadOnlyStringMap contextData = event.getContextData();
27+
if (contextData == null || contextData.isEmpty()) return;
28+
29+
StringBuilder sb = new StringBuilder();
30+
contextData.forEach(
31+
(key, value) -> {
32+
if (key.startsWith(CTX_PREFIX)) {
33+
if (sb.length() > 0) sb.append(", ");
34+
sb.append(key).append("=").append(value);
35+
}
36+
});
37+
if (sb.length() > 0) {
38+
toAppendTo.append("[").append(sb).append("]");
39+
}
40+
}
41+
}

0 commit comments

Comments
 (0)