package jelectrum;
import java.io.PrintStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
public class EventLog
{
private boolean log_enabled=false;
private PrintStream log_stream = null;
private SimpleDateFormat sdf;
public EventLog(Config conf)
throws java.io.IOException
{
conf.require("event_log_enabled");
log_enabled = conf.getBoolean("event_log_enabled");
if (log_enabled)
{
conf.require("event_log_path");
log_stream = new PrintStream(new FileOutputStream(conf.get("event_log_path"), true));
}
sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
}
public EventLog(OutputStream out)
{
log_stream = new PrintStream(out);
log_enabled=true;
sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
}
public void log(Throwable e)
{
log(e.toString());
}
public void log(String msg)
{
if (!log_enabled) return;
synchronized(log_stream)
{
String line = sdf.format(new java.util.Date()) + " - " + msg;
log_stream.println(line);
log_stream.flush();
}
}
public void alarm(Throwable e)
{
alarm(e.toString());
}
public void alarm(String msg)
{
log(msg);
String line = sdf.format(new java.util.Date()) + " - " + msg;
System.out.println(line);
}
}