1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.async;
18
19 import com.lmax.disruptor.ExceptionHandler;
20
21
22
23
24 public class AsyncLoggerConfigDefaultExceptionHandler
25 implements ExceptionHandler<AsyncLoggerConfigDisruptor.Log4jEventWrapper> {
26
27 @Override
28 public void handleEventException(final Throwable throwable, final long sequence,
29 final AsyncLoggerConfigDisruptor.Log4jEventWrapper event) {
30 final StringBuilder sb = new StringBuilder(512);
31 sb.append("AsyncLogger error handling event seq=").append(sequence).append(", value='");
32 try {
33 sb.append(event);
34 } catch (final Exception ignored) {
35 sb.append("[ERROR calling ").append(event.getClass()).append(".toString(): ");
36 sb.append(ignored).append("]");
37 }
38 sb.append("':");
39 System.err.println(sb);
40 throwable.printStackTrace();
41 }
42
43 @Override
44 public void handleOnStartException(final Throwable throwable) {
45 System.err.println("AsyncLogger error starting:");
46 throwable.printStackTrace();
47 }
48
49 @Override
50 public void handleOnShutdownException(final Throwable throwable) {
51 System.err.println("AsyncLogger error shutting down:");
52 throwable.printStackTrace();
53 }
54 }