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 if (event instanceof LoggingEvent) {
30 return LoggingEventVO.build(event);
31 } else if (event instanceof LoggingEventVO) {
32 return (LoggingEventVO) event;
33 } else {
34 throw new IllegalArgumentException("Unsupported type " + event.getClass().getName());
35 }
36 }
37
38 }