Hallo,
ich fange gerade an mein Projekt neu zu reprogrammieren und stelle auch von log41 auf log4j2 um.
Habe die XML Datei erstellt um ein logging in eine Datei zu schreiben und die importe sowie eine Test log Info.
Soweit hat das geklappt ohne Probleme.
Die Datei wurde geschieben inklusive den Logeintrag.
Nun habe ich ein Objekt aus einer von mir erstellten Klasse erzeugt und prompt gibt es einen Fehler.
Die Netbeans IDE hat keinerlei Problem bei der Programmierung angezeigt.
Allerdiongs kann es nicht an der Objekterzeugung liegen, da die Klassse schon mal lief und korrekt arbeitete.
Die Fehlermeldung ist:
Die Zeile die markiert ist ist die Erstellung des Objektes ???
Der Konstruktor
Die Startklasse ist eigentlich ganz simpel??
Log4J Konfiguration
Danke
Mi
ich fange gerade an mein Projekt neu zu reprogrammieren und stelle auch von log41 auf log4j2 um.
Habe die XML Datei erstellt um ein logging in eine Datei zu schreiben und die importe sowie eine Test log Info.
Soweit hat das geklappt ohne Probleme.
Die Datei wurde geschieben inklusive den Logeintrag.
Nun habe ich ein Objekt aus einer von mir erstellten Klasse erzeugt und prompt gibt es einen Fehler.
Die Netbeans IDE hat keinerlei Problem bei der Programmierung angezeigt.
Allerdiongs kann es nicht an der Objekterzeugung liegen, da die Klassse schon mal lief und korrekt arbeitete.
Die Fehlermeldung ist:
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at indexer.dateiformate.Datei.<clinit>(Datei.java:30)
at indexer.IndexStart.main(IndexStart.java:40)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 2 more
Die Zeile die markiert ist ist die Erstellung des Objektes ???
Java:
Datei dateiObjekt = new Datei(pfadQuelle, pfadZiel, pfadLoeschen);
Der Konstruktor
Java:
/**
* Konstruktor für Dateien mit Parameter für<br>
* Quell -und Zielordner.
* Quellordner, für Dateien zur Verarbeitung.<br>
* Zielordner, für Dateien die verarbeitet wurden.
*
* @param pfadQuelle <b>String</b>
* @param pfadZiel <b>String</b>
* @param pfadLoeschen <b>String</b>
*/
public Datei(String pfadQuelle, String pfadZiel, String pfadLoeschen) {
// Konvertiert den String-Quellpfad in ein File-Objekt
File pfadQuelleFile = new File(pfadQuelle);
this.verzeichnisPfadQuelle = pfadQuelleFile;
// Konvertiert den String-Zielpfad in ein Fil-Objekt
File pfadZielFile = new File(pfadZiel);
this.verzeichnisPfadZiel = pfadZielFile;
// Konvertiert den String-Löschpfad in ein Fil-Objekt
File pfadLoeschenFile = new File(pfadLoeschen);
this.verzeichnisPfadLoeschen = pfadLoeschenFile;
} // Konstruktor Datei
Java:
public class IndexStart {
// Erstellt ein LoggerObjekt und holt dessen Instanz
private static final Logger LOG = LogManager.getLogger(IndexStart.class); // Log4j2
// Instanzvariablen für globale Programmeinstellungen
static String pfadQuelle = "B:/01 Quelle"; // pVar pfadQuelle : String
static String pfadZiel = "B:/02 Ziel"; // pVar pfadZiel : String
static String pfadLoeschen = "B:/06 Loeschen"; // pVar pfadLoeschen : String
/**
* Indexer Programmstart
* @param args
*/
public static void main(String[] args) {
LOG.info("Das ist die erste Logging-Meldung zur überprüfung der implementation");
// Schreibt den String der pfadQuelle in die Instanzvariable als File
Datei dateiObjekt = new Datei(pfadQuelle, pfadZiel, pfadLoeschen);
System.out.println("pfadQuelle : " + dateiObjekt.getVerzeichnisPfadQuelle().toString());
System.out.println("pfadZiel : " + dateiObjekt.getVerzeichnisPfadZiel().toString());
System.out.println("pfadLoeschen : " + dateiObjekt.getVerzeichnisPfadLoeschen().toString());
} // main
Log4J Konfiguration
XML:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="log" fileName="log/Logger.log" immediateFlush="false" append="false">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
<AppenderRef ref="log"/>
</Root>
</Loggers>
</Configuration>
Danke
Mi