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
24 PreSerializationTransformer<ILoggingEvent> {
25
26 public Serializable transform(ILoggingEvent event) {
27 if(event == null) {
28 return null;
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 }