view src/goodjava/logger/WriterAppender.java @ 2037:a4435e2e3417 acme-tiny

Edit scripts to use acme-tiny
author Violet7
date Sat, 08 Nov 2025 04:29:49 -0800
parents 1cdc12cdcfa2
children
line wrap: on
line source

package goodjava.logger;

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


public class WriterAppender implements Appender {
	public 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();
	}
}