Hi,
ich habe ein Projekt indem ich log4j benutze. Da Ich den Pfad der logdatei erst zur Laufzeit über die Benutzeroberfläche setzen möchte habe Ich eine eigene Loggerklasse geschrieben:
und für die URL:
Die Instanz erzeuge Ich dann in anderen Klassen mit
und die URL definiere Ich in meiner Anwendung in einem ActionAdapter mit
Leider bekomme Ich trotzdem die Fehlermeldung:
sobald Ich den Logger durch eine der Klassen aufrufe.
Hat jemand damit Erfahrung und kann mir sagen wo der Fehler liegen könnte?
PS: So lange das Programm in Eclipse läuft wird trotzdem eine Logdatei erstellt und die Einträge geloggt. In der Deployden jar tritt aber ein Fehler auf sobald Ich den Logger inizialisiere.
ich habe ein Projekt indem ich log4j benutze. Da Ich den Pfad der logdatei erst zur Laufzeit über die Benutzeroberfläche setzen möchte habe Ich eine eigene Loggerklasse geschrieben:
Java:
import java.io.IOException;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
public class ApplicationLogger {
private static Logger logger = null;
private ApplicationLogger() {
super();
}
public static Logger getInstance() {
if (logger == null) {
initLogger();
}
return logger;
}
private static void initLogger() {
try {
logger = Logger.getLogger(ApplicationLogger.class);
PatternLayout appenderLayout = new PatternLayout();
appenderLayout.setConversionPattern("%d %p - %m%n");
FileAppender appender = new FileAppender(appenderLayout, LoggerUrl
.getInstance().getUrl());
logger.addAppender(appender);
logger.setLevel(org.apache.log4j.Level.ALL);
} catch (IOException ex) {
logger.error("Cannot access log file: " + ex.getLocalizedMessage());
} catch (Exception ex) {
logger.error("Unknown exception: " + ex.getLocalizedMessage());
}
}
}
Java:
public class LoggerUrl {
private String url = "C:/log.txt";
private static LoggerUrl loggerURL = null;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public static LoggerUrl getInstance() {
if (loggerURL == null) {
loggerURL = new LoggerUrl();
}
return loggerURL;
}
}
Java:
private static final Logger logger = ApplicationLogger.getInstance();
Java:
LoggerUrl.getInstance().setUrl(loggerText.getText());
Leider bekomme Ich trotzdem die Fehlermeldung:
Code:
log4j:WARN No appenders could be found for logger (org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Hat jemand damit Erfahrung und kann mir sagen wo der Fehler liegen könnte?
PS: So lange das Programm in Eclipse läuft wird trotzdem eine Logdatei erstellt und die Einträge geloggt. In der Deployden jar tritt aber ein Fehler auf sobald Ich den Logger inizialisiere.