1 package net.sf.openrocket.logging;
3 import java.io.PrintStream;
4 import java.util.EnumMap;
7 * A logger that output log lines to various print streams depending on the log level.
8 * By default output is logged nowhere.
10 * @author Sampo Niskanen <sampo.niskanen@iki.fi>
12 public class PrintStreamLogger extends LogHelper {
14 private final EnumMap<LogLevel, PrintStream> output = new EnumMap<LogLevel, PrintStream>(LogLevel.class);
18 public void log(LogLine line) {
19 PrintStream stream = output.get(line.getLevel());
21 stream.println(line.toString());
25 public PrintStream getOutput(LogLevel level) {
26 return output.get(level);
29 public void setOutput(LogLevel level, PrintStream stream) {
31 throw new IllegalArgumentException("level=" + level + " stream=" + stream);
33 output.put(level, stream);