package com.griddynamics.jagger.storage.fs.logging;
import com.griddynamics.jagger.storage.FileStorage;
import org.jboss.serial.io.JBossObjectOutputStream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.io.OutputStream;
public class JBossBufferedLogWriter extends BufferedLogWriter {
private final Logger log = LoggerFactory.getLogger(JBossBufferedLogWriter.class);
public JBossBufferedLogWriter(int flushSize, int bufferSize, FileStorage fileStorage) {
super(flushSize, bufferSize, fileStorage);
}
private static class JBossLogWriterOutput implements LogWriterOutput {
private final JBossObjectOutputStream out;
private JBossLogWriterOutput(OutputStream out) throws IOException {
this.out = new JBossObjectOutputStream(out);
}
@Override
public void writeObject(Object object) throws IOException {
out.writeObject(object);
}
@Override
public void close() throws IOException {
out.close();
}
}
@Override
public LogWriterOutput getOutput(OutputStream out) throws IOException {
return new JBossLogWriterOutput(out);
}
}