@@ -46,6 +46,8 @@ public void initLoggerLevels(LoggerContext loggerContext) {
4646 updateLoggerLevel (loggerContext .getLogger ("io.grpc.Context" ));
4747 updateLoggerLevel (loggerContext .getLogger ("io.opentelemetry" ));
4848 updateLoggerLevel (loggerContext .getLogger ("muzzleMatcher" ));
49+ updateLoggerLevel (
50+ loggerContext .getLogger ("com.azure.core.implementation.jackson.JacksonVersion" ));
4951 updateLoggerLevel (loggerContext .getLogger ("com.microsoft.applicationinsights" ));
5052 updateLoggerLevel (loggerContext .getLogger (ROOT_LOGGER_NAME ));
5153 }
@@ -54,8 +56,7 @@ public void updateLoggerLevel(Logger logger) {
5456 Level loggerLevel ;
5557 String name = logger .getName ();
5658 if (name .startsWith ("reactor.netty" ) || name .startsWith ("io.netty" )) {
57- // never want to log reactor netty or netty at trace or debug, it's just way too verbose
58- loggerLevel = getAtLeastInfoLevel (level );
59+ loggerLevel = getNettyLevel (level );
5960 } else if (name .startsWith ("io.grpc.Context" )) {
6061 // never want to log io.grpc.Context at trace or debug, as it logs confusing stack trace that
6162 // looks like error but isn't
@@ -68,6 +69,10 @@ public void updateLoggerLevel(Logger logger) {
6869 // muzzleMatcher logs at WARN level, so by default this is OFF, but enabled when DEBUG logging
6970 // is enabled
7071 loggerLevel = getMuzzleMatcherLevel (level );
72+ } else if (name .startsWith ("com.azure.core.implementation.jackson.JacksonVersion" )) {
73+ // need to suppress ERROR messages from this class since it cannot find the real jackson
74+ // version due to shading
75+ loggerLevel = Level .OFF ;
7176 } else if (name .startsWith ("com.microsoft.applicationinsights" )) {
7277 loggerLevel = level ;
7378 } else {
@@ -81,9 +86,27 @@ private static Level getAtLeastInfoLevel(Level level) {
8186 return getMaxLevel (level , Level .INFO );
8287 }
8388
89+ private static Level getNettyLevel (Level level ) {
90+ if (level == Level .DEBUG || level == Level .TRACE ) {
91+ // never want to log reactor netty or netty at trace or debug, it's just way too verbose
92+ return Level .INFO ;
93+ } else if (level == Level .INFO || level == Level .WARN ) {
94+ // suppress spammy reactor-netty WARN logs
95+ return Level .ERROR ;
96+ } else {
97+ return level ;
98+ }
99+ }
100+
84101 private static Level getOpenTelemetryLevel (Level level ) {
85- // bump DEBUG up to INFO, keep all others as-is
86- return level == Level .DEBUG ? Level .INFO : level ;
102+ if (level == Level .INFO ) {
103+ return Level .WARN ;
104+ } else if (level == Level .DEBUG ) {
105+ // use "trace" level to enable verbose debugging
106+ return Level .INFO ;
107+ } else {
108+ return level ;
109+ }
87110 }
88111
89112 private static Level getOtherLibLevel (Level level ) {
0 commit comments