log4j

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo,

ich wollte jetzt das Beispiel von der Seite http://www.torsten-horn.de/techdocs/java-log4j.htm ausprobieren,, habe log4j.jar eingebunden, aber es wird der Logger nicht gefunden,

Weiß jemand wieso?

lg


Code:
package meinpackage;

import org.apache.log4j.Logger;   // Logger wird nicht gefunden

public class MeineKlasse1
{
  private static Logger logger = Logger.getLogger( MeineKlasse1.class );

  MeineKlasse1()
  {
    logger.info(  "Meine Info-Meldung aus MeineKlasse1."  );
    logger.error( "Meine Error-Meldung aus MeineKlasse1." );
  }
}
 

lhein

Top Contributor
Hast Du das Tutorial gelesen und verstanden oder einfach nur die JAR eingebunden und 2-3 Zeilen übernommen?

Mein Vorschlag: Lies das Tutorial nochmal. Wenn das nicht hilft, dann geh auf die Log4J Seite und schau Dir die Dokus da an.

lr
 

PollerJava

Top Contributor
OK, falsche jar,

jetzt bekomme ich folgenden Fehler:

Code:
Exception in thread "main" java.lang.NoSuchFieldError: level
        at org.apache.log4j.spi.RootLogger.setLevel(RootLogger.java:66)
        at org.apache.log4j.spi.RootLogger.<init>(RootLogger.java:45)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:80)
        at org.apache.log4j.Logger.getLogger(Logger.java:118)
        at meinpackage.MeineKlasse1.<clinit>(MeineKlasse1.java:7)
        at meinpackage.Main.main(Main.java:10)
Java Result: 1

Was mache ich da falsch??
 

PollerJava

Top Contributor
Weiß jemand, wieso mein Logger kein setLevel hat:

Code:
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;

public class simpandfile {
   static Logger logger = Logger.getLogger(simpandfile.class);
   public static void main(String args[]) {
      SimpleLayout layout = new SimpleLayout();

      FileAppender appender = null;
      try {
         appender = new FileAppender(layout,"output1.txt",false);
      } catch(Exception e) {}

      logger.addAppender(appender);
      logger.setLevel((Level) Level.DEBUG);         // setLevel gibts gar nicht in der Klasse Logger?????

      logger.debug("Here is some DEBUG");
      logger.info("Here is some INFO");
      logger.warn("Here is some WARN");
      logger.error("Here is some ERROR");
      logger.fatal("Here is some FATAL");
   }
}
 

PollerJava

Top Contributor
gibts eine andere Möglichkeit auch noch ausser log4j,
bekomms leider nicht hin, keine Ahnung, was da schief läuft,

lg
 

HoaX

Top Contributor
evlt alte version von log4j? wieso überhaupt der cast auf level?

btw ist es leichter, einfacher, schöner log4j mittels properties- oder xml-datei zu konfigurieren anstatt im code
 

PollerJava

Top Contributor
Ich habeum die 60 Klassen,

wie ist es am besten, für jedes Package einen Logger, für jede Klasse oder einen Logger für alle Klassen?

lg
 

Tobias

Top Contributor
Für jede Klasse ein Logger. Du kannst die Logger auch gruppiert ansprechen, so dass du mit dieser Politik die größtmögliche "Auflösung" erreichst.

mpG
Tobias
 

PollerJava

Top Contributor
Wie funktioniert das mit dem Gruppieren und sollen alle Logger in eine Datei schreiben oder jeder Logger eine eigene Datei haben und wie kann ich es machen, dass nicht ein Logger die Einträge eines anderen Loggers überschreibt, oder passiert das eh nicht (Hab keine Erfahrung mit Logger),

Vielen Dank und schönes We,
 

PollerJava

Top Contributor
Hallo nochmal zu diesem Thema,

ich habe den unteren Code zum loggen meiner Fehler (z.B.: in der unteren Klasse Control), wenn ich das Programm aber neu starte, dann wird die XML- Datei aber jedes mal überschrieben,

Weiß jemand wie ich das verhindern kann,

lg und vielen Dank





Code:
public Control(String xmlDateiPfad) 
        {	
        try {
            file_handler = new FileHandler("log/Package_pack_Log.xml");
            xmllogging = new XMLFormatter();
            file_handler.setFormatter(xmllogging);
            loggerControl.addHandler(file_handler);
            loggerControl.setLevel(Level.ALL);
            loggerControl.entering("KlasseIrgendeine","anderer Text");
            } 
        catch (SecurityException ex) 
            {
            ex.printStackTrace();
            } 
        catch (IOException ex) 
            {
            ex.printStackTrace();
            }
 

PollerJava

Top Contributor
gibts irgendwo einen JavaCode auch dafür wie ich das machen kann bzw. wie könnte ich in meinem Code oben den Appender benutzen, damit die neuen Meldungen nur angehängt werden?

Vielen Dank
 

PollerJava

Top Contributor
Bei mir geht einfach das Programm unten nicht, es gibt keine Methode setLevel(..) in der Klasse Logger,
Ich habe das jar- File log4j-1.2.15.jar,

Weiß da jemand noch einen Rat???
lg


Code:
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;

public class simpandfile {
   static Logger logger = Logger.getLogger(simpandfile.class);
   public static void main(String args[]) {
      SimpleLayout layout = new SimpleLayout();

      FileAppender appender = null;
      try {
         appender = new FileAppender(layout,"output1.txt",false);
      } catch(Exception e) {}

      logger.addAppender(appender);
      logger.setLevel((Level) Level.DEBUG);         // setLevel gibts gar nicht in der Klasse Logger?????

      logger.debug("Here is some DEBUG");
      logger.info("Here is some INFO");
      logger.warn("Here is some WARN");
      logger.error("Here is some ERROR");
      logger.fatal("Here is some FATAL");
   }
}
 

HLX

Top Contributor
Natürlich gibt es setLevel(..) - steht in der Superklasse vom Logger: org.apache.log4j.Category

Warum musst du den Parameter in 'setLevel' casten?
 

PollerJava

Top Contributor
Code:
java.lang.NoSuchFieldError: level
        at org.apache.log4j.spi.RootLogger.setLevel(RootLogger.java:66)
        at org.apache.log4j.spi.RootLogger.<init>(RootLogger.java:45)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:80)
        at org.apache.log4j.Logger.getRootLogger(Logger.java:136)
        at meinpackage.Main.<clinit>(Main.java:7)
Exception in thread "main" 
Java Result: 1

wenn ich setLEvel aukommentiere, dann bekomme ich die Fehlermeldung oben, sonst bekomme ich eben den Fehler, dass es die MEthode nicht kennt,




Code:
symbol  : method setLevel(org.apache.log4j.Level)
location: class org.apache.log4j.Logger
      logger.setLevel(Level.ALL);
1 error

lg
 

HLX

Top Contributor
Hmpf...ich hab mir gerade das Beispiel angesehen und festgestellt das du es NICHT 1:1 übernommen hast. Warum steht die setLevel-Methode nicht im try-Block?

Und jetzt wirds ganz wichtig: :meld:
Lass dir, wie im Beispiel, IMMER etwas ausgeben, wenn du eine Exception abfängst - am besten den Stacktrace. Sonst erfährst du es nie, wenn da was passiert.
 

PollerJava

Top Contributor
Ja ja, das mach ich eh immer,
ich hab nur ein bischen rumprobiert, aber es ist 1:1 auch nicht gegangen da ja die Methode setLevel() nicht existiert,

Ist es bei dir gegangen, ich vermute mal auch nicht,, da hat scih vielleicht was getan beim Package von .9 auf .15??
 

HLX

Top Contributor
PollerJava hat gesagt.:
Ja ja, das mach ich eh immer

Und was ist das???
Code:
    } catch(Exception e) {}

So steht es oben in deinem Code.

Zwischen den zwei "Unterversionen" hat sich bestimmt nichts getan. Falls eine Methode bei einer neuen Version (z.B. 1.3.) nicht mehr angewendet werden soll, wird sie auf deprecated gesetzt. Daher existiert die Methode definitiv. Der Fehler liegt woanders.
 

HLX

Top Contributor
Ich habe mir nicht die Mühe gemacht das auszuprobieren. Ein Blick in die API und in den Quellcode zeigen das die Methode existiert. Setze das Beispiel bitte 1:1 um.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M log4j Problem mit jlink Allgemeine Java-Themen 19
T Log4j integrieren, wie? Allgemeine Java-Themen 7
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
M Schutz vor Log4J Allgemeine Java-Themen 2
W Sicherheitslücke in Log4j Allgemeine Java-Themen 66
8u3631984 Generelle Log4j.xml für alle Module Allgemeine Java-Themen 5
MiMa mit Log4j einzeln Protokollieren Allgemeine Java-Themen 7
A JWS application - log4j wie configurieren Allgemeine Java-Themen 1
A Log4j configurieren Allgemeine Java-Themen 1
L Applet Wo loggt log4j bei Applets Allgemeine Java-Themen 0
T Log4J - Deaktivierung für einzelne Klassen Allgemeine Java-Themen 7
D Log4J RollingFileAppender rolliert nicht Allgemeine Java-Themen 3
MiMa Log4j in Dateien mit eigenem Namen schreiben Allgemeine Java-Themen 3
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
O log4j - Verständnisfrage Allgemeine Java-Themen 1
O [log4J] Unterschied SocketServer <-> SimpleSocketServer Allgemeine Java-Themen 0
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
T [log4j] Wie nutzt man log4j.properties? Allgemeine Java-Themen 7
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
O log4j - eigenes Log für einzelne Klasse Allgemeine Java-Themen 5
J log4j ohne propertiedatei Allgemeine Java-Themen 4
H [Logback || log4j] Wie richtig loggen / Log Instanzen verwalten Allgemeine Java-Themen 2
A Threads Log4J Logger wird "überschrieben" Allgemeine Java-Themen 3
N Log4J PatternLayout Allgemeine Java-Themen 2
S Frage zu Format Modifiers in Log4j Allgemeine Java-Themen 11
S log4j, root logger logt nur FATAL? Allgemeine Java-Themen 9
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
C Grundsätzliches zu log4j Allgemeine Java-Themen 8
C Log4J mit 2 Appender Allgemeine Java-Themen 4
reibi log4j - Bestes Konzept Allgemeine Java-Themen 10
F System.out.println mit log4j ersetzen Allgemeine Java-Themen 10
F Log4J - Detaillierte Logeinträge Allgemeine Java-Themen 2
F log4j DailyRollingFileAppender Allgemeine Java-Themen 2
T Wahrscheinlich Problem mit log4j.properties Allgemeine Java-Themen 19
B Log4J und Categories Allgemeine Java-Themen 4
P Log4J - logt nicht Allgemeine Java-Themen 5
L log4j layout Allgemeine Java-Themen 3
S Log4j und SLF4J - Laufzeitänderungen Allgemeine Java-Themen 11
E Eclipse Axis, Jena, HTTPClient - log4j Meldungen deaktivieren? Allgemeine Java-Themen 6
ruutaiokwu log4j appender in log4j.xml in java referenzieren... Allgemeine Java-Themen 6
G log4j File erzeugen und Pfad bestimmen Allgemeine Java-Themen 3
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
H log4j & taskname Allgemeine Java-Themen 3
C log4j.properties wird nicht verwendet?? Allgemeine Java-Themen 3
S log4j, Datum in Fileappendern formatieren Allgemeine Java-Themen 4
G Log4J Verzeichnis der Log-Datei konfigurieren Allgemeine Java-Themen 8
K log4j-Warnung mit Quartz Allgemeine Java-Themen 3
G log4j package filter Allgemeine Java-Themen 10
G log4j - Behandlung nicht explizit abgefangener Exceptions Allgemeine Java-Themen 5
S log4j - doppeltes Logging Allgemeine Java-Themen 4
R log4j - Ausgabe der Logs Allgemeine Java-Themen 3
S log4j Logging über mehrere Klassen Allgemeine Java-Themen 13
MQue log4j mit hibernate Allgemeine Java-Themen 3
G Log4J - Logs älter als 3 Tage löschen Allgemeine Java-Themen 5
S log4j.dtd nicht in jar gefunden Allgemeine Java-Themen 7
H log4j - täglichen DailyRollingFileAppender Allgemeine Java-Themen 2
H Mit Log4j erzeugte Datei einlesen Allgemeine Java-Themen 2
hdi log4j in eine Datei Allgemeine Java-Themen 21
S Log4J DailyRollingFileAppender Allgemeine Java-Themen 4
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
B Log4j --- Welchen Appender, wie konfigurieren Allgemeine Java-Themen 3
F Logger in mehrere Dateien mit log4J Allgemeine Java-Themen 4
T Log4J: Bei Programmstart immer eine neue LogDatei erzeugen Allgemeine Java-Themen 9
ARadauer log4j DailyRollingFileAppender Allgemeine Java-Themen 4
B log4j löscht meine Logdateien Allgemeine Java-Themen 2
V Feinheitsfragen zu log4j Allgemeine Java-Themen 21
R log4j Allgemeine Java-Themen 5
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
K log4j Anzeigeformat Allgemeine Java-Themen 2
O Konkurrierender Zugriff auf Log-Datei mit Log4J Allgemeine Java-Themen 11
A log4j 1.3 und ändern der log Konfiguration zur Laufzeit Allgemeine Java-Themen 4
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
U Log4j - gleichzeitige geöffnete File handles Allgemeine Java-Themen 2
P log4j Allgemeine Java-Themen 9
B log4j FileAppender Dateizugriff Allgemeine Java-Themen 7
G log4j Allgemeine Java-Themen 13
J Log4j / commons-logging Allgemeine Java-Themen 3
V log4j Problem . Allgemeine Java-Themen 8
D Log4j-HTMLLayout Allgemeine Java-Themen 2
G Log4j - Log-File Allgemeine Java-Themen 6
Q [log4j] nur ein Mal konfigurieren Allgemeine Java-Themen 2
Y log4J XML Konfiguration Allgemeine Java-Themen 8
K Logging mit Log4j Allgemeine Java-Themen 2
P log4j: Übersicht der Properties Allgemeine Java-Themen 5
G eigener logger mittels classe (dynamische logfilename) log4j Allgemeine Java-Themen 15
K log4j - eigene Info-Ausgaben Allgemeine Java-Themen 5
K log4j - Fehlermeldung Allgemeine Java-Themen 2
J stackTrace mit log4j loggen Allgemeine Java-Themen 9
F log4j XML-Syntax Allgemeine Java-Themen 4
F log4j loggen in mehrere Dateien Allgemeine Java-Themen 4
S Logging mit log4j Allgemeine Java-Themen 17
S Log4J mit 2 Appender, einer soll nur INFO loggen Allgemeine Java-Themen 3
Q Ant und org.apache.log4j.xml.DOMConfigurator Problem Allgemeine Java-Themen 2
S log4j Allgemeine Java-Themen 2
V log4j.properties wird in der jar Datei nicht gefunden? Allgemeine Java-Themen 2
F [Log4J] Logdatei mit einem schlag über 200MB! Allgemeine Java-Themen 4
M Log4J - Protokollierung auf die GUI zaubern! Allgemeine Java-Themen 11
S log4j Protokoll in XML Allgemeine Java-Themen 11
B Wohin mit log4j.properties Allgemeine Java-Themen 2
M Rat gesucht: Logging (log4J oder java.util.logging oder .) Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben