6363 */
6464class DynatraceExporterV2Test {
6565
66+ private static final String SUBSEQUENT_LOGS_AS_DEBUG = "Note that subsequent logs will be logged at debug level." ;
67+
6668 private MockLoggerFactory loggerFactory ;
6769
6870 private MockLogger logger ;
@@ -79,8 +81,6 @@ class DynatraceExporterV2Test {
7981
8082 private DynatraceExporterV2 exporter ;
8183
82- private static final String subsequentLogsAsDebug = "Note that subsequent logs will be logged at debug level." ;
83-
8484 @ BeforeEach
8585 void setUp () {
8686 this .config = createDefaultDynatraceConfig ();
@@ -126,7 +126,7 @@ void toGaugeLineShouldDropNanValue_testLogWarnThenDebug() {
126126
127127 String expectedMessage = "Meter 'my.gauge' returned a value of NaN, which will not be exported. This can be a deliberate value or because the weak reference to the backing object expired." ;
128128
129- LogEvent warnEvent = new LogEvent (WARN , String .join (" " , expectedMessage , subsequentLogsAsDebug ), null );
129+ LogEvent warnEvent = new LogEvent (WARN , String .join (" " , expectedMessage , SUBSEQUENT_LOGS_AS_DEBUG ), null );
130130 LogEvent debugEvent = new LogEvent (DEBUG , expectedMessage , null );
131131
132132 meterRegistry .gauge ("my.gauge" , NaN );
@@ -692,15 +692,14 @@ void failOnSendWithExceptionShouldHaveProperLogging_warnThenDebug() {
692692 // these two will be logged by the WarnThenDebugLogger:
693693 // the warning message is suffixed with "Note that subsequent logs will be logged
694694 // at debug level.".
695- LogEvent warnThenDebugWarningLog = new LogEvent (WARN ,
696- String .join (" " , expectedWarnThenDebugMessage , expectedException .getMessage (), subsequentLogsAsDebug ),
697- expectedException );
695+ LogEvent warnThenDebugWarningLog = new LogEvent (WARN , String .join (" " , expectedWarnThenDebugMessage ,
696+ expectedException .getMessage (), SUBSEQUENT_LOGS_AS_DEBUG ), expectedException );
698697 LogEvent warnThenDebugDebugLog = new LogEvent (DEBUG ,
699698 String .join (" " , expectedWarnThenDebugMessage , expectedException .getMessage ()), expectedException );
700699
701700 // this will be logged by the "general" logger in a single line (once per export)
702- LogEvent expectedExceptionLogMessage = new LogEvent (WARN ,
703- "Failed metric ingestion: java.lang.RuntimeException: " + expectedException . getMessage (), null );
701+ LogEvent expectedExceptionLogMessage = new LogEvent (WARN , "Failed metric ingestion: " + expectedException ,
702+ null );
704703
705704 meterRegistry .gauge ("my.gauge" , 1d );
706705 Gauge gauge = meterRegistry .find ("my.gauge" ).gauge ();
@@ -712,28 +711,18 @@ void failOnSendWithExceptionShouldHaveProperLogging_warnThenDebug() {
712711 // debug event.
713712 assertThat (logger .getLogEvents ()).containsOnlyOnce (expectedExceptionLogMessage );
714713
715- long countExceptionLogsFirstExport = logger .getLogEvents ()
716- .stream ()
717- .filter (event -> event .equals (expectedExceptionLogMessage ))
718- .count ();
719- assertThat (countExceptionLogsFirstExport ).isEqualTo (1 );
720-
721714 // the WarnThenDebugLogger only has one event so far.
722- assertThat (stackTraceLogger .getLogEvents ()).hasSize ( 1 ). containsExactly (warnThenDebugWarningLog );
715+ assertThat (stackTraceLogger .getLogEvents ()).containsExactly (warnThenDebugWarningLog );
723716
724717 // second export
725718 exporter .export (Collections .singletonList (gauge ));
726719
727720 // after the second export, the general logger contains the warning log twice
728- long countExceptionLogsSecondExport = logger .getLogEvents ()
729- .stream ()
730- .filter (event -> event .equals (expectedExceptionLogMessage ))
731- .count ();
732- assertThat (countExceptionLogsSecondExport ).isEqualTo (2 );
721+ assertThat (logger .getLogEvents ().stream ().filter (event -> event .equals (expectedExceptionLogMessage )))
722+ .hasSize (2 );
733723
734724 // the WarnThenDebugLogger now has two logs.
735- assertThat (stackTraceLogger .getLogEvents ()).hasSize (2 )
736- .containsExactly (warnThenDebugWarningLog , warnThenDebugDebugLog );
725+ assertThat (stackTraceLogger .getLogEvents ()).containsExactly (warnThenDebugWarningLog , warnThenDebugDebugLog );
737726 }
738727
739728 @ Test
@@ -1031,7 +1020,7 @@ void conflictingMetadataIsIgnored_testLogWarnThenDebug() {
10311020 + "original metadata:\t #my.count count dt.meta.description=count\\ 1\\ description,dt.meta.unit=Bytes\n "
10321021 + "tried to set new:\t #my.count count dt.meta.description=count\\ description\n "
10331022 + "Metadata for metric key my.count will not be sent." ;
1034- LogEvent warnEvent = new LogEvent (WARN , String .join (" " , expectedLogMessage , subsequentLogsAsDebug ), null );
1023+ LogEvent warnEvent = new LogEvent (WARN , String .join (" " , expectedLogMessage , SUBSEQUENT_LOGS_AS_DEBUG ), null );
10351024 LogEvent debugEvent = new LogEvent (DEBUG , expectedLogMessage , null );
10361025
10371026 HttpSender .Request .Builder builder = mock (HttpSender .Request .Builder .class );
@@ -1056,12 +1045,11 @@ void conflictingMetadataIsIgnored_testLogWarnThenDebug() {
10561045 // first export
10571046 exporter .export (meterRegistry .getMeters ());
10581047
1059- assertThat (metadataDiscrepancyLogger .getLogEvents ()).hasSize ( 1 ). containsExactly (warnEvent );
1048+ assertThat (metadataDiscrepancyLogger .getLogEvents ()).containsExactly (warnEvent );
10601049
10611050 // second export
10621051 exporter .export (meterRegistry .getMeters ());
1063- assertThat (metadataDiscrepancyLogger .getLogEvents ()).hasSize (2 ).containsExactly (warnEvent , debugEvent );
1064-
1052+ assertThat (metadataDiscrepancyLogger .getLogEvents ()).containsExactly (warnEvent , debugEvent );
10651053 }
10661054
10671055 @ Test
0 commit comments