Hallo Board.
Ich hab ein kleines Problem. Ich weiß net wie ichs programmieren soll.
Ich hab mir zwei Klassen geschrieben um Daten in ner Datei zu logggen:
Logger.java:
Filelog.java:
Wenn ich jetzt in meiner Mainfunktion ne Instant erzeuge,
dann kann ich mittels "log.write();" drauf sachen in die datei schreiben.
So schön, so gut.
Jetzt ruf ich in meiner mainfunktion aber auch noch andere klassen auf, die über die selbe instanz in die Datei schreiben sollen.
1. Wie übergeb ich diese Instanz?
2. Was würdet ihr anders machen?
3. Ist das so wie ich es versuche sinnvoll?
Mfg Max
Ich hab ein kleines Problem. Ich weiß net wie ichs programmieren soll.
Ich hab mir zwei Klassen geschrieben um Daten in ner Datei zu logggen:
Logger.java:
Code:
package logger;
public class Logger {
public String logMode = null;
public int debugMode;
public Filelog log = new Filelog();
public void setLogMode(String lLogMode) {
logMode = lLogMode;
}
public void setDebugMode(int ldebugMode) {
debugMode = ldebugMode;
}
public Filelog startLogger(String lLogFolder, String lLogName) {
if (logMode == "file") {
log.setLogFolder(lLogFolder);
log.setLogName(lLogName);
log.write("Start of Log");
}
return null;
}
public void write(int lDebugMode, String lLine) {
if (logMode == "file" && lDebugMode <= debugMode) {
log.write(lLine);
}
}
public void writeLogOut() {
if (logMode == "file") {
log.writeLogFile();
}
// evtl. noch datenbanklogger
}
}
Code:
package logger;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
public class Filelog {
private static String logFolder;
private static String logName;
public static String log = "";
public void setLogFolder(String lLogFolder) {
logFolder = lLogFolder;
}
public void setLogName(String lLogName) {
logName = lLogName;
}
public void write(String lLog) {
log += lLog + "\r\n";
}
public void writeLogFile() {
PrintWriter writer = null;
try {
writer = new PrintWriter(new FileWriter(logFolder + logName,
true));
} catch (IOException e) {
e.printStackTrace();
}
writer.println(log);
writer.flush();
writer.close();
}
}
Wenn ich jetzt in meiner Mainfunktion ne Instant erzeuge,
Code:
Logger log = new Logger();
log.setLogMode("file");
log.startLogger("C:\\log\\", "log.txt");
So schön, so gut.
Jetzt ruf ich in meiner mainfunktion aber auch noch andere klassen auf, die über die selbe instanz in die Datei schreiben sollen.
1. Wie übergeb ich diese Instanz?
2. Was würdet ihr anders machen?
3. Ist das so wie ich es versuche sinnvoll?
Mfg Max