Mercurial > lbo > hg > clusterrpc-java
view src/main/java/net/borgac/clusterrpc/client/StderrLogger.java @ 6:0e608c466a58
Implement ClientChannel/SocketWrapper and add logging and tests
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Sat, 24 Sep 2016 16:42:13 +0200 |
parents | |
children |
line wrap: on
line source
package net.borgac.clusterrpc.client; import java.text.SimpleDateFormat; import java.util.Date; /** * * @author lbo */ public class StderrLogger implements Logger { private Loglevel loglevel; private final SimpleDateFormat formatter; public StderrLogger() { this.loglevel = Loglevel.ERROR; this.formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); } public StderrLogger(Loglevel l) { this(); this.loglevel = l; } @Override public void log(Loglevel l, Object... os) { if (l.compareTo(loglevel) >= 0) { StringBuilder line = new StringBuilder(); line.append(formatter.format(new Date())); line.append(' '); line.append(loglevel.toString()); line.append(' '); for (Object o : os) { line.append(o.toString()); } System.err.println(line.toString()); } if (loglevel == Loglevel.FATAL) { System.err.println("Logged FATAL exception; aborting..."); System.exit(1); } } @Override public void setLoglevel(Loglevel l) { this.loglevel = l; } }