/********************************************************
* (c) 2009 by Medelexis AG, Baden, Switzerland
* Alle Rechte vorbehalten / All rights reserved
* http://www.medelexis.ch
*
* $Id$
********************************************************/
package ch.elexis.labor.medics.v2.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import ch.rgw.io.FileTool;
public class MedicsLogger {
private final String LOG_FILENAMEPATH = System.getProperty("user.home") //$NON-NLS-1$
+ File.separator + "elexis" + File.separator + "medics.log"; //$NON-NLS-1$ //$NON-NLS-2$
private PrintStream log;
private static MedicsLogger logger = null;
private String insetStr = ""; //$NON-NLS-1$
public static MedicsLogger getLogger(){
if (logger == null) {
logger = new MedicsLogger();
}
return logger;
}
public MedicsLogger(){
initLogger();
}
private void initLogger(){
try {
log = new PrintStream(new FileOutputStream(LOG_FILENAMEPATH, true));
} catch (FileNotFoundException e) {
log = System.out;
}
}
public void println(String s){
log.println(insetStr + s);
}
public void print(String s){
log.print(insetStr + s);
}
public void addInset(){
insetStr += " "; //$NON-NLS-1$
}
public void removeInset(){
if (insetStr.length() > 0) {
insetStr = insetStr.substring(0, insetStr.length() - 3);
}
}
public String getContent(){
String content = "-"; //$NON-NLS-1$
try {
content = FileTool.readTextFile(new File(LOG_FILENAMEPATH));
} catch (IOException e) {
content = e.getMessage();
}
return content;
}
public void deleteLog() throws IOException{
log.close();
new File(LOG_FILENAMEPATH).delete();
new File(LOG_FILENAMEPATH).createNewFile();
initLogger();
}
@Override
protected void finalize() throws Throwable{
if (log != null) {
log.close();
}
}
}