package net.fe.network;
import java.io.*;
import java.util.ArrayList;
import net.fe.RNG;
public class ServerLog {
private ArrayList<String> messageLog;
public ServerLog() {
File logDir = new File("logs");
if(!logDir.isDirectory()) logDir.mkdir();
messageLog = new ArrayList<String>();
messageLog.add("[SEED] " + RNG.seed);
Runtime.getRuntime().addShutdownHook(new Thread(){
public void run(){
spitLog();
}
});
}
public void logMessage(Message m, boolean sent) {
log((sent?"[SEND]":"[RCVE]") + m.toString());
}
public void log(String s){
messageLog.add(s);
System.out.println(s);
}
public void spitLog() {
if(messageLog.size() == 0) return;
System.out.println("Spitting logs...");
try {
PrintWriter p = new PrintWriter(new File("logs/server_log"
+ System.currentTimeMillis() % 100000000 + ".log"));
for(String message: messageLog){
System.out.println(message);
p.println(message.trim());
}
p.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}