view src/goodjava/logger/WriterAppender.java @ 1701:077366d117bb

use local luan
author Vadim Filimonov <fffilimonov@yandex.ru>
date Tue, 28 Jun 2022 17:59:19 +0300
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();
	}
}