1
2
3
4
5
6
7
8
9
10
11
12
13
14 package ch.qos.logback.classic.net;
15
16 import java.io.Serializable;
17
18 import ch.qos.logback.classic.spi.ILoggingEvent;
19 import ch.qos.logback.classic.spi.LoggingEvent;
20 import ch.qos.logback.classic.spi.LoggingEventVO;
21 import ch.qos.logback.core.spi.PreSerializationTransformer;
22
23 public class LoggingEventPreSerializationTransformer implements PreSerializationTransformer<ILoggingEvent> {
24
25 public Serializable transform(ILoggingEvent event) {
26 if (event == null) {
27 return null;
28 }
29
30 if (event instanceof LoggingEvent) {
31 return LoggingEventVO.build(event);
32 } else if (event instanceof LoggingEventVO) {
33 return (LoggingEventVO) event;
34 } else {
35 throw new IllegalArgumentException("Unsupported type " + event.getClass().getName());
36 }
37 }
38
39 }