Logger schreiben

Status
Nicht offen für weitere Antworten.

dexcs

Mitglied
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:
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
	}
}
Filelog.java:
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");
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
 

Lim_Dul

Top Contributor
Ein Logger ist etwas, wo sich meines erachtens static wirklich anbietet.

Also eine static methode names:
Code:
public static void log(SomeThingToLog) {
 // Speichere 
}

Alternativ kannst du dir java.util.logging ansehen (Das gefällt mir persönlich nicht) oder log4j (Das kenne ich nicht)

Damit erparst du dir das Schreiben eines eigenen Logging Frameworks.
 
B

bygones

Gast
blub
Code:
if (logMode == "file") {
schau mal in die FAQ Stringvergl

ansonsten schau dir mal entweder

1. Singletons an
2. java.util.Logger
3. System.out.println() mit geänderten System.setOut
 

dexcs

Mitglied
Ok, danke ich habe l4j genommen.
Code:
	public static void main(String[] args) {
		SimpleLayout layout = new SimpleLayout();
		FileAppender fileAppender;
		try {
			ConsoleAppender consoleAppender = new ConsoleAppender(layout);
			logger.addAppender(consoleAppender);
			fileAppender = new FileAppender(layout, "c:\\log\\log.txt", false);
			logger.addAppender(fileAppender);
			logger.setLevel(Level.DEBUG);
		} catch (Exception ex) {
			System.out.println(ex);
		}
...
	    logger.debug( "Meine Debug-Meldung" );
	    logger.info(  "Meine Info-Meldung"  );
	    logger.warn(  "Meine Warn-Meldung"  );
	    logger.error( "Meine Error-Meldung" );
	    logger.fatal( "Meine Fatal-Meldung" );
	}
}

Das funktioniert auch.
Aber ich weiß immernochnicht wie ich in den anderen Klassen das logger.debug aufrufe.
Wie übergebe ich das?

Max
 

CelikBlek

Bekanntes Mitglied
Wie bereits weiter oben erwähnt solltest du da den Singleton nutzen. Also:
- deine Klasse auf private static setzen
- private Instanz der Klasse mit null anlegen
- Methode bsp. getTheInstance() schreiben
Code:
private Klasse m_Instance = null;
...
public Klasse getTheInstance() {
   if(m_Instance == null) {
      m_Instance = new Klasse();
   }
   return m_Instance;
}
Und der Zugriff:
Code:
Klasse.getTheInstance().methodeXY();
 
G

Guest

Gast
dexcs hat gesagt.:
...
Aber ich weiß immernochnicht wie ich in den anderen Klassen das logger.debug aufrufe.
Wie übergebe ich das?
...
Siehe Logger.getLogger(...) oder Logger.getAnonymousLogger(...)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Logger-Ausgabe und die Konsole Java Basics - Anfänger-Themen 4
G Probleme mit Logger Java Basics - Anfänger-Themen 7
F Log4j - log4j:WARN No appenders could be found for logger Java Basics - Anfänger-Themen 1
G Logger merkt sich seinen Level nicht Java Basics - Anfänger-Themen 6
G Logger mag kein Linux Java Basics - Anfänger-Themen 3
M Java-IP-Logger Java Basics - Anfänger-Themen 3
G Logger? Java Basics - Anfänger-Themen 4
G Logger? Java Basics - Anfänger-Themen 2
P Gibt es einen anderen Weg um "{}" in IntelliJ zu schreiben? Java Basics - Anfänger-Themen 5
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
M Test auf Exceptions schreiben Java Basics - Anfänger-Themen 11
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
HolyFUT JSON String in Java Object schreiben - Anführungszeichen rauskriegen? Java Basics - Anfänger-Themen 17
java-starter Erste Schritte Mit While Schleifen Programme schreiben Java Basics - Anfänger-Themen 4
berserkerdq2 Wo ist der SInn, dass man den Stream, den ich zum Schreiben nutze, outputstream nenne? Java Basics - Anfänger-Themen 5
viktor1 Methoden Methode schreiben static void readText (String filename) {...} zu WordHistogramSample.java Java Basics - Anfänger-Themen 13
D JAVA Programm schreiben Java Basics - Anfänger-Themen 46
S In Datei schreiben in Java? Java Basics - Anfänger-Themen 1
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
berserkerdq2 IO Streams logfile erstellen und Sachen schreiben wie? Java Basics - Anfänger-Themen 2
M Text in Datei schreiben Java Basics - Anfänger-Themen 9
berserkerdq2 Wie würde man einen regulären Ausdruck in Java schreiben, der prüft, dass zwei bestimtme Zahlen nicht nebeneinadner sind? Java Basics - Anfänger-Themen 3
S Bot schreiben Java Basics - Anfänger-Themen 1
J Kann ich mein Programm so schreiben? Java Basics - Anfänger-Themen 4
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
C XML Datei schreiben Java Basics - Anfänger-Themen 14
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
T Methode schreiben, die einem Array ein Stringelement hinzufügt, wenn dieses noch nicht enthalten ist. Java Basics - Anfänger-Themen 6
T Inhalt aus TextField in Attribut einer Instanz schreiben Java Basics - Anfänger-Themen 5
NeoLexx Datenströme Lesen und Schreiben einer Textdatei Java Basics - Anfänger-Themen 2
B Inputstream in file schreiben? Java Basics - Anfänger-Themen 23
L Test-Methoden schreiben Java Basics - Anfänger-Themen 13
L x und y Koordinaten in ein Array schreiben Java Basics - Anfänger-Themen 7
J Programm schreiben Java Basics - Anfänger-Themen 5
G In Datei schreiben Java Basics - Anfänger-Themen 1
B Werte aus einem Unterprogramm in ein Array schreiben Java Basics - Anfänger-Themen 2
J Methode zur Ausgabe eines Dreiecks aus Sternen schreiben? Java Basics - Anfänger-Themen 2
J Methode selber schreiben Java Basics - Anfänger-Themen 5
M Plateau Prgramm schreiben Java Basics - Anfänger-Themen 2
G Programm schreiben: Zahl (n) eingeben, 1+1/n+2/n+3/n+....+n/n Java Basics - Anfänger-Themen 8
J String in Datei schreiben Java Basics - Anfänger-Themen 4
L Kleine Hilfe beim Schreiben eines Programmes benötigt :D Java Basics - Anfänger-Themen 40
J Lesen und schreiben in eine Datei(Anfänger- Dateizugriffe) Java Basics - Anfänger-Themen 3
S JSON Datei schreiben und lesen Java Basics - Anfänger-Themen 3
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
H projekt 1 code schöner schreiben. Java Basics - Anfänger-Themen 25
O findRoot Methode schreiben in einem Intervall Java Basics - Anfänger-Themen 31
O Erste Schritte Eigene charAt(i) Methode schreiben Java Basics - Anfänger-Themen 10
X Arrays untereinander schreiben Java Basics - Anfänger-Themen 4
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
A Erste Schritte Bitte helfen sie mir diese Programm zu schreiben Java Basics - Anfänger-Themen 12
L Input/Output Konsole in Farben schreiben Java Basics - Anfänger-Themen 4
P Strings in String Array schreiben Java Basics - Anfänger-Themen 13
Y kann jemand die Terme mit Zahlen schreiben ?? Java Basics - Anfänger-Themen 4
L Input/Output In Farben schreiben Java Basics - Anfänger-Themen 3
x-tshainge In gespeicherter Datei schreiben? Java Basics - Anfänger-Themen 7
F Schreibprogramm nur markierten Text in kursiv oder fett schreiben Java Basics - Anfänger-Themen 3
A JSON Lesen und Schreiben. Java Basics - Anfänger-Themen 3
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
karlmasutra Ausgabe in ein Array schreiben Java Basics - Anfänger-Themen 14
T Zufällige Matrix in neue Matrix schreiben Java Basics - Anfänger-Themen 6
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
J Mit JSF Formular in Datenbank schreiben Java Basics - Anfänger-Themen 3
amazinglife77 Input/Output Lesen/Schreiben Properties: in eclipse geht, als JAR nicht Java Basics - Anfänger-Themen 4
S Wie muss ich die Generische Methode schreiben? Java Basics - Anfänger-Themen 6
R Input/Output Dateinamen aus Verzeichnis in Datei schreiben Java Basics - Anfänger-Themen 3
E Wert in Textfeld schreiben Java Basics - Anfänger-Themen 1
P Erste Schritte Schreiben in eine Datei Java Basics - Anfänger-Themen 9
M Java Roboter schreiben mit Eclipse Java Basics - Anfänger-Themen 3
J Probleme beim schreiben von Dateien Java Basics - Anfänger-Themen 5
M Rekursion schreiben Java Basics - Anfänger-Themen 16
M In einer Datei schreiben - Java Java Basics - Anfänger-Themen 3
D Eine einfache Verschlüsselung schreiben Java Basics - Anfänger-Themen 3
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3
G Java Objektorientiert schreiben Java Basics - Anfänger-Themen 1
D Daten mit Apache POI in eine Excel Datei schreiben Java Basics - Anfänger-Themen 5
N Lambda Ausdrücke richtig schreiben Java Basics - Anfänger-Themen 4
B Schreiben von zu vielen Einträgen in einer Datenbank Java Basics - Anfänger-Themen 9
F Wert in Linux auf die Konsole schreiben Java Basics - Anfänger-Themen 3
A von ArrayList in Labels schreiben Java Basics - Anfänger-Themen 19
X Kann man post increment "vollständig schreiben"? Java Basics - Anfänger-Themen 13
T Klassen In Eingabefeld von externem Programm schreiben wenn angewählt. Java Basics - Anfänger-Themen 6
X Dateien direkt hintereinander schreiben, Dateiname Java Basics - Anfänger-Themen 25
G Messwerte in 2 Dateien schreiben Java Basics - Anfänger-Themen 20
I Input/Output 3 Werte in Datei schreiben, duplikate vermeiden Java Basics - Anfänger-Themen 4
H Integer in Datei schreiben Java Basics - Anfänger-Themen 2
W Java in "Terminal" schreiben Java Basics - Anfänger-Themen 9
D Datentypen StringToFloat-Methode schreiben Java Basics - Anfänger-Themen 0
P Telefontarif Programm schreiben Java Basics - Anfänger-Themen 5
L Methode schreiben die den maximalen Wert im Array ermittelt Java Basics - Anfänger-Themen 27
M Best Practice Wann eine Methode schreiben ? Java Basics - Anfänger-Themen 14
S Komma geht beim Schreiben ins csv verloren. Java Basics - Anfänger-Themen 6
F Input/Output Dateien lesen/schreiben Java Basics - Anfänger-Themen 1
O Bubblesort allgemeiner schreiben Java Basics - Anfänger-Themen 5
B Probleme bei "Daten in CSV File schreiben". Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben