package cz.cvut.fel.restauracefel.server.logger;
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
/**
*
* @author Jarda
*/
public class ServerLogger {
private static final String LOG_FILE_NAME = "exceptions.log";
private static ServerLogger instance = null;
private Logger logger = null;
private Handler handler = null;
private ServerLogger(){
try {
logger = Logger.getLogger("exceptions");
handler = new FileHandler(LOG_FILE_NAME, true);
handler.setFormatter(new SimpleFormatter());
logger.addHandler(handler);
logger.setLevel(Level.ALL);
} catch (IOException ioe){
System.out.println("Logger: IO exception");
ioe.printStackTrace();
} catch (SecurityException se){
System.out.println("Logger: Security exception");
se.printStackTrace();
}
}
public static ServerLogger getInstance(){
if (instance == null){
instance = new ServerLogger();
}
return instance;
}
public void closeLogger(){
handler.close();
}
public void setLoggingLevel(Level level){
logger.setLevel(level);
}
public void writeLogMessage(Level level, String message){
logger.log(level, message);
}
public void writeLogMessageExcp(Level level, String message, Throwable thrown){
logger.log(level, message, thrown);
}
public void writeThrowingException(String sourceClass, String sourceMethod, Throwable thrown){
logger.throwing(sourceClass, sourceMethod, thrown);
}
}