import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import junit.framework.TestCase; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class SerializationTest extends TestCase { Object writeRead(Object o) throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(o); ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); ObjectInputStream ois = new ObjectInputStream(bais); return ois.readObject(); } public void testSLF4J() throws Exception { Logger logger = LoggerFactory.getLogger("x"); AppleSLF4J apple = new AppleSLF4J(); apple.setLogger(logger); AppleSLF4J apple2 = (AppleSLF4J) writeRead(apple); apple2.doIt(); } public void testJCL() throws Exception { Log logger = LogFactory.getLog("x"); AppleJCL apple = new AppleJCL(); apple.setLogger(logger); AppleJCL apple2 = (AppleJCL) writeRead(apple); apple2.doIt(); } }