- @Override
- public void metrics(String msg, Object arg1, Object arg2) {
- logger.info(Markers.METRICS, msg, arg1, arg2);
+ private void putMetricsOnMdc(MetricsData metrics) {
+
+ SimpleDateFormat dateFormat = new SimpleDateFormat(DATE_TIME_PATTERN);
+ unsafePutOnMdc(MetricsField.BEGIN_TIMESTAMP, dateFormat.format(metrics.getStartTime()));
+ unsafePutOnMdc(MetricsField.END_TIMESTAMP, dateFormat.format(metrics.getEndTime()));
+ unsafePutOnMdc(MetricsField.ELAPSED_TIME, String.valueOf(metrics.getEndTime() - metrics.getStartTime()));
+ safePutOnMdc(MetricsField.RESPONSE_CODE, metrics.getResponseCode());
+ safePutOnMdc(MetricsField.RESPONSE_DESCRIPTION, metrics.getResponseDescription());
+ safePutOnMdc(MetricsField.CLIENT_IP_ADDRESS, metrics.getClientIpAddress());
+ safePutOnMdc(MetricsField.TARGET_ENTITY, metrics.getTargetEntity());
+ safePutOnMdc(MetricsField.TARGET_VIRTUAL_ENTITY, metrics.getTargetVirtualEntity());
+
+ if (metrics.getStatusCode() != null) {
+ unsafePutOnMdc(MetricsField.STATUS_CODE, metrics.getStatusCode().name());
+ }