view src/goodjava/logger/WriterAppender.java @ 1682:97cc73664ca8

improve RollingFileAppender
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 05 Jun 2022 10:51:43 -0600
parents 6fc083e1d08c
children
line wrap: on
line source

package goodjava.logger;

import java.io.Writer;
import java.io.IOException;


public class WriterAppender implements Appender {
	protected final Layout layout;
	protected Writer writer;

	public WriterAppender(Layout layout,Writer writer) {
		this.layout = layout;
		this.writer = writer;
	}

	public synchronized void append(LoggingEvent event) {
		try {
			writer.write( layout.format(event) );
			flush();
		} catch(IOException e) {
			printStackTrace(e);
		}
	}

	protected void flush() throws IOException {
		writer.flush();
	}

	public void close() {
		try {
			writer.close();
		} catch(IOException e) {
			printStackTrace(e);
		}
	}

	protected void printStackTrace(IOException e) {
		e.printStackTrace();
	}
}