File tree Expand file tree Collapse file tree
main/java/io/opentelemetry/exporter/logging
test/java/io/opentelemetry/exporter/logging Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -79,7 +79,7 @@ public CompletableResultCode flush() {
7979 try {
8080 handler .flush ();
8181 } catch (Throwable t ) {
82- resultCode .fail ();
82+ return resultCode .fail ();
8383 }
8484 }
8585 return resultCode .succeed ();
Original file line number Diff line number Diff line change @@ -89,16 +89,39 @@ void export() {
8989 @ Test
9090 void flush () {
9191 AtomicBoolean flushed = new AtomicBoolean (false );
92- Logger .getLogger (LoggingMetricExporter .class .getName ())
93- .addHandler (
94- new StreamHandler (new PrintStream (new ByteArrayOutputStream ()), new SimpleFormatter ()) {
95- @ Override
96- public synchronized void flush () {
97- flushed .set (true );
98- }
99- });
100- exporter .flush ();
101- assertThat (flushed .get ()).isTrue ();
92+ Logger logger = Logger .getLogger (LoggingMetricExporter .class .getName ());
93+ StreamHandler handler =
94+ new StreamHandler (new PrintStream (new ByteArrayOutputStream ()), new SimpleFormatter ()) {
95+ @ Override
96+ public synchronized void flush () {
97+ flushed .set (true );
98+ }
99+ };
100+ logger .addHandler (handler );
101+ try {
102+ exporter .flush ();
103+ assertThat (flushed .get ()).isTrue ();
104+ } finally {
105+ logger .removeHandler (handler );
106+ }
107+ }
108+
109+ @ Test
110+ void flushFailure () {
111+ Logger logger = Logger .getLogger (LoggingMetricExporter .class .getName ());
112+ StreamHandler failingHandler =
113+ new StreamHandler (new PrintStream (new ByteArrayOutputStream ()), new SimpleFormatter ()) {
114+ @ Override
115+ public synchronized void flush () {
116+ throw new RuntimeException ("Flush failed" );
117+ }
118+ };
119+ logger .addHandler (failingHandler );
120+ try {
121+ assertThat (exporter .flush ().isSuccess ()).isFalse ();
122+ } finally {
123+ logger .removeHandler (failingHandler );
124+ }
102125 }
103126
104127 @ Test
Original file line number Diff line number Diff line change @@ -127,16 +127,39 @@ void export() {
127127 @ Test
128128 void flush () {
129129 AtomicBoolean flushed = new AtomicBoolean (false );
130- Logger .getLogger (LoggingSpanExporter .class .getName ())
131- .addHandler (
132- new StreamHandler (new PrintStream (new ByteArrayOutputStream ()), new SimpleFormatter ()) {
133- @ Override
134- public synchronized void flush () {
135- flushed .set (true );
136- }
137- });
138- exporter .flush ();
139- assertThat (flushed .get ()).isTrue ();
130+ Logger logger = Logger .getLogger (LoggingSpanExporter .class .getName ());
131+ StreamHandler handler =
132+ new StreamHandler (new PrintStream (new ByteArrayOutputStream ()), new SimpleFormatter ()) {
133+ @ Override
134+ public synchronized void flush () {
135+ flushed .set (true );
136+ }
137+ };
138+ logger .addHandler (handler );
139+ try {
140+ exporter .flush ();
141+ assertThat (flushed .get ()).isTrue ();
142+ } finally {
143+ logger .removeHandler (handler );
144+ }
145+ }
146+
147+ @ Test
148+ void flushFailure () {
149+ Logger logger = Logger .getLogger (LoggingSpanExporter .class .getName ());
150+ StreamHandler failingHandler =
151+ new StreamHandler (new PrintStream (new ByteArrayOutputStream ()), new SimpleFormatter ()) {
152+ @ Override
153+ public synchronized void flush () {
154+ throw new RuntimeException ("Flush failed" );
155+ }
156+ };
157+ logger .addHandler (failingHandler );
158+ try {
159+ assertThat (exporter .flush ().isSuccess ()).isFalse ();
160+ } finally {
161+ logger .removeHandler (failingHandler );
162+ }
140163 }
141164
142165 @ Test
You can’t perform that action at this time.
0 commit comments