@@ -89,56 +89,70 @@ static void logWithMDC(
8989
9090 static void logRequest (HttpRequest request , Logger logger , String message ) {
9191 if (logger .isInfoEnabled ()) {
92- Map <String , String > loggingDataMap = new HashMap <>();
93- loggingDataMap .put ("request.method" , request .getRequestMethod ());
94- loggingDataMap .put ("request.url" , request .getUrl ().toString ());
95-
96- Map <String , Object > headers = new HashMap <>();
97- request
98- .getHeaders ()
99- .forEach (
100- (key , val ) -> {
101- if ("authorization" .equals (key )) {
102- String hashedVal = calculateSHA256Hash (String .valueOf (val ));
103- headers .put (key , hashedVal );
104- } else {
105- headers .put (key , val );
106- }
107- });
108- loggingDataMap .put ("request.headers" , headers .toString ());
109-
110- if (request .getContent () != null && logger .isDebugEnabled ()) {
111- // are payload always GenericData? If so, can parse and store in json
112- GenericData data = (GenericData ) ((UrlEncodedContent ) request .getContent ()).getData ();
113-
114- Map <String , String > contextMap = parseGenericData (data );
115- loggingDataMap .put ("request.payload" , contextMap .toString ());
116-
117- LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .DEBUG , loggingDataMap , message );
118- } else {
119-
120- LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .INFO , loggingDataMap , message );
92+ try {
93+ Map <String , String > loggingDataMap = new HashMap <>();
94+ loggingDataMap .put ("request.method" , request .getRequestMethod ());
95+ loggingDataMap .put ("request.url" , request .getUrl ().toString ());
96+
97+ Map <String , Object > headers = new HashMap <>();
98+ request
99+ .getHeaders ()
100+ .forEach (
101+ (key , val ) -> {
102+ if ("authorization" .equals (key )) {
103+ String hashedVal = calculateSHA256Hash (String .valueOf (val ));
104+ headers .put (key , hashedVal );
105+ } else {
106+ headers .put (key , val );
107+ }
108+ });
109+ loggingDataMap .put ("request.headers" , headers .toString ());
110+
111+ if (request .getContent () != null && logger .isDebugEnabled ()) {
112+ // are payload always GenericData? If so, can parse and store in json
113+ GenericData data = (GenericData ) ((UrlEncodedContent ) request .getContent ()).getData ();
114+
115+ Map <String , String > contextMap = parseGenericData (data );
116+ loggingDataMap .put ("request.payload" , contextMap .toString ());
117+
118+ LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .DEBUG , loggingDataMap , message );
119+ } else {
120+
121+ LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .INFO , loggingDataMap , message );
122+ }
123+ } catch (Exception e ) {
124+ logger .error ("Error logging request: " , e );
121125 }
122126 }
123127 }
124128
125129 static void logResponse (HttpResponse response , Logger logger , String message ) {
126130 if (logger .isInfoEnabled ()) {
127- Map <String , String > responseLogDataMap = new HashMap <>();
128- responseLogDataMap .put ("response.status" , String .valueOf (response .getStatusCode ()));
129- responseLogDataMap .put ("response.status.message" , response .getStatusMessage ());
130-
131- Map <String , Object > headers = new HashMap <>();
132- response .getHeaders ().forEach ((key , val ) -> headers .put (key , val ));
133- responseLogDataMap .put ("response.headers" , headers .toString ());
134- LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .INFO , responseLogDataMap , message );
131+ try {
132+ Map <String , String > responseLogDataMap = new HashMap <>();
133+ responseLogDataMap .put ("response.status" , String .valueOf (response .getStatusCode ()));
134+ responseLogDataMap .put ("response.status.message" , response .getStatusMessage ());
135+
136+ Map <String , Object > headers = new HashMap <>();
137+ response .getHeaders ().forEach ((key , val ) -> headers .put (key , val ));
138+ responseLogDataMap .put ("response.headers" , headers .toString ());
139+ LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .INFO , responseLogDataMap , message );
140+ } catch (Exception e ) {
141+
142+ logger .error ("Error logging response: " , e );
143+ }
135144 }
136145 }
137146
138147 static void logGenericData (GenericData genericData , Logger logger , String message ) {
139148 if (logger .isDebugEnabled ()) {
140- Map <String , String > contextMap = parseGenericData (genericData );
141- LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .DEBUG , contextMap , message );
149+ try {
150+
151+ Map <String , String > contextMap = parseGenericData (genericData );
152+ LoggingUtils .logWithMDC (logger , org .slf4j .event .Level .DEBUG , contextMap , message );
153+ } catch (Exception e ) {
154+ logger .error ("Error logging GenericData: " , e );
155+ }
142156 }
143157 }
144158
0 commit comments