Logging mehrerer Methoden

  • Themenstarter Themenstarter javaanfaengerin
  • Beginndatum Beginndatum
J

javaanfaengerin

Gast
Hallo Ihr,

ich bin neu hier, also habt ein bisschen Verständnis wenn ich mich umständlich ausdrücke 🙂

Ich sitze an einem komischen Problem. Ich möchte Logging programmieren und habe schon einiges hinbekommen. Ich habe die Klasse die den Logger darstellt und einmal die Klasse mit den Methoden die in einer XML-Datei geloggt werden sollen. Die XML-Datei wird auch erstellt,aber es wird nur die erste Methode mit der Nachricht "Informationen" ausgegeben und die anderen Methoden nicht und ich verstehe nicht wieso :-(

Ich muss dazu auch sagen, dass ich kein Profi bin. Vielleicht kann mir ja jemannd helfen? Das wäre echt nett 🙂

Das ist der Logger:
[JAVA=42]
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Logger;


public class BeispielLogger {
private static Logger logger = Logger.getLogger("BeispielLogger");
public void logger(){
try{

FileHandler logFile = new FileHandler("logger.xml");
logger.addHandler(logFile);

BeispielUnit beispielUnit = new BeispielUnit();
beispielUnit.beispielLog();
beispielUnit.beispielLog1();
beispielUnit.beispielLog2();

}catch(SecurityException e1){
e1.toString();
}catch(IOException e2){
e2.toString();
}

}

public static void main(String []args){
BeispielLogger cost = new BeispielLogger();
cost.logger();
}

}
[/code]

Das ist die Klasse mit Methoden:

[JAVA=42]
import java.util.logging.Level;
import java.util.logging.Logger;

public class BeispielUnit {
private static Logger logger = Logger.getLogger("BeispielLogger");

public void beispielLog(){
logger.log(Level.INFO, "Information");
}
public void beispielLog1(){
logger.log(Level.INFO, "Hier sollen weitere Daten stehen!!!!!");
}
public void beispielLog2(){
int beispielID=1;
logger.log(Level.INFO, beispielID);
}
}
[/code]

Und das ist die XML-Datei:

<?xml version="1.0" encoding="windows-1252" standalone="no"?>
<!DOCTYPE log SYSTEM "logger.dtd">
<log>
<record>
<date>2010-08-11T15:58:16</date>
<millis>1278332536064</millis>
<sequence>0</sequence>
<logger>BeispielLogger</logger>
<level>INFO</level>
<class>BeispielUnit</class>
<method>beispielLog</method>
<thread>10</thread>
<message>Informationen</message>
</record>
</log>
 
Zuletzt bearbeitet von einem Moderator:
Danke für deine Antwort. Ich habe da mal gerade nach gegoogelt, aber das kenne ich gar nicht.

Wo soll ich das denn in den Querllcode schreiben und was bewirkt es?

Lieben Gruß
 
z.B.:
Java:
public class BeispielLogger {
  ...
  logger.addHandler(logFile);
  System.out.println(logger.isLoggable(Level.INFO));
  System.out.println(logger.getLevel());
  ...
 
Hi,

danke nochmal. Ich habe mir das mal angeschaut und auch nochmal gegoogelt. Ich weiß wirklich nicht was das bringt und wofür das gut ist. Kann mir das vielleicht jemand erklären?das mwäre super lieb von euch

Lieben Gruß
 
Du siehst ob log4j den INFO Level loggt. Das solltest du ausprobieren.
Danach kann man dein Probleme dann weiter eingrenzen.
 
Aber log4J beniutze ich doch gar nicht!Irgendwie verstehe ich das nicht!

Ist denn sonst alles richtig implementiert?
 
Okay, ich habe es gemacht, aber da kommt nun eine Fehlermeldung. Kann ich dir vielleicht mal als Privatmessage mein ganzes Projekt schicken. Das muss man bei Eclipse einfügen. ich wäre dir echt dankbar!

Lieben Gruß
 
Das die ganze Klasse nicht mehr existiert!Ich bin echt verwirrt.

Kann ich hier gar keine Dateien hochladen?
 
Und wie wenn ich dir eine private Nachricht schicken möchte :-( Bitte helft mir doch noch :-(
 
Zuletzt bearbeitet von einem Moderator:
Hi,okay habe es hochgeladen. Da sind die Namen aber etwas anders, da ich die heute nochmal geändert habe, aber vom Sinn her ist es gleich. Ich hoffe jemand kann mir helfen
 
Zuletzt bearbeitet von einem Moderator:
Könnt ihr mir vielleicht sagen was ihr bei den class files geändert habt?wie muss ich das ändern? Oder könnt ihr mir vielleicht schicken wie es nun aussieht? wäre echt lieb!

Lieben Gruß
 
Bei den .class files musst/"kannst" du nichts ändern. Ändere deine Klasse von LogImpl auf CostManagementUnit und kompiliere das ganze neu (ggf. bei Eclipse im Menü Project > Clean ausführen.)
 
Guten Morgen,

vielen Dank erst einmal. Ist es denn möglich nur die beiden java-Dateien in das Projekt bei Eclipse zu integrieren oder brauche ich unbedingt die ClassFiles?

Lieben Gruß
 

Zurück
Oben