You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.0 KiB
Java
85 lines
2.0 KiB
Java
package peery.log;
|
|
|
|
import java.io.BufferedWriter;
|
|
import java.io.File;
|
|
import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
|
|
public class Log {
|
|
|
|
public static Log log;
|
|
public static final boolean silenceDebug = false,
|
|
appendEvents = true, appendErrors = false;
|
|
|
|
public final File eventFile, errorFile;
|
|
private BufferedWriter eventWriter, errorWriter;
|
|
|
|
|
|
public Log(String location){
|
|
this.eventFile = new File(location+"/eventLog.log");
|
|
this.errorFile = new File(location+"/ERROR.log");
|
|
|
|
try {
|
|
if(!this.eventFile.exists()){
|
|
this.eventFile.createNewFile();
|
|
}
|
|
if(!this.errorFile.exists()){
|
|
this.errorFile.createNewFile();
|
|
}
|
|
this.eventWriter = new BufferedWriter(new FileWriter(eventFile, appendEvents));
|
|
this.errorWriter = new BufferedWriter(new FileWriter(errorFile, appendErrors));
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
System.exit(1);
|
|
}
|
|
}
|
|
|
|
public static void initLog(String location){
|
|
if(Log.log != null){
|
|
return;
|
|
}
|
|
|
|
Log.log = new Log(location);
|
|
}
|
|
|
|
public static void log(int logLvl, String message){
|
|
Log.log.logs(logLvl, message);
|
|
}
|
|
|
|
public static void log(LogLevel lv, String message){
|
|
Log.log.logs(lv.ordinal(), message);
|
|
}
|
|
|
|
@SuppressWarnings("unused")
|
|
public void logs(int logLvl, String message){
|
|
String prefix = LogLevel.values()[logLvl].toString();
|
|
prefix = "["+prefix+"]";
|
|
BufferedWriter logWriter;
|
|
if(silenceDebug && logLvl == LogLevel.Debug.ordinal()){
|
|
return;
|
|
}
|
|
|
|
if(logLvl == LogLevel.Error.ordinal()){
|
|
logWriter = this.errorWriter;
|
|
}
|
|
else{
|
|
logWriter = this.eventWriter;
|
|
}
|
|
String timeStamp = new java.util.Date().toString();
|
|
String msg = "["+timeStamp+"]"+prefix+" "+message;
|
|
System.out.println(msg);
|
|
try {
|
|
logWriter.write(msg+"\n");
|
|
logWriter.flush();
|
|
} catch (IOException e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
public static void main(String[] args){
|
|
Log.initLog("/home/peery/Software_Projects/EclipseWorkspace/Picture Mosaic/resources/");
|
|
Log.log(LogLevel.Debug, "Test!");
|
|
Log.log(LogLevel.Error, "TEST ERROR");
|
|
}
|
|
}
|