Ich habe Probleme mit einer Anwendung, die abstürzt, wenn ich sie auf anderen Computern mit JRE 1.7 bereitstelle. Wenn ich dies in NetBeans (oder sogar direkt aus der JAR-Datei) auf meinem PC starte, ist alles in Ordnung. Aber auf einem anderen Computer schlägt es bei bestimmten Ereignissen (Knopfklicks) während der Ausführung fehl.Log4j - Die Protokolldatei kann nicht gefunden werden
So lernte ich über das Logging mit der Bibliothek log4j. Dies gab mir einige Informationen über ein Problem in meiner Anwendung, und die Protokollierung funktioniert einwandfrei, wieder auf meinem Computer. Aber wenn ich die JAR-Datei auf anderen Computern, die nur JRE ausführen (Java 7 Update 17), bereitstellen, kann ich keine Spuren von Protokolldateien finden.
Hier ist meine log4j.properties Datei:
# Root logger option
log4j.rootLogger=INFO, file, stdout
# Direct log messages to a log file log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\logging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}
%-5p %c{1}:%L - %m%n
# Direct log messages to stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}
%-5p %c{1}:%L - %m%n
Auf meinem Computer, ich kann die logging.log Datei direkt in den Projektordner sehen. Insofern funktioniert alles perfekt. Auf dem Benutzer-PC gibt es jedoch keinerlei Anzeichen für diese Datei. Nicht in C: \ (wo ich dachte, es wäre), nicht in C: \ Programme (x86) \ oder irgendwo anders. Ich habe meine Festplatte vollständig durchsucht, aber nichts kommt zurück.
Wo sollte diese Datei gespeichert werden? Sind meine Eigenschaften richtig eingestellt? Sehr verwirrt ...
Vielen Dank!
Kann der Benutzer auf dem Zielcomputer Dateien im Stammverzeichnis auf dem Laufwerk c erstellen? – DwB
Um zu beginnen, müssen Backslashes in den Eigenschaftendateien verdoppelt werden: 'C: \\ logging.log'. Oder benutze Schrägstriche, da Windows sie akzeptiert: 'C:/logging.log' – Kenster
DwB - ja, sie haben volle Zugriffsrechte auf c: \. Ich glaube nicht, dass dies ein Berechtigungsproblem ist. – Alex