Ho problemi con un'applicazione che si arresta in modo anomalo quando la distribuisco ad altri computer che eseguono JRE 1.7. Quando eseguo questo all'interno di NetBeans (o anche direttamente dal file JAR) sul mio PC, va tutto bene. Ma su un altro computer non riesce a eventi specifici (clic del pulsante) durante l'esecuzione.Log4j - Impossibile trovare il file di registro
Quindi, ho imparato a utilizzare la libreria log4j. Questo mi ha dato alcune informazioni su un problema nella mia applicazione, e il logging funziona perfettamente, sempre su MY computer. Tuttavia, quando distribuisco il file JAR su altri computer, che eseguono solo JRE (Java 7 Update 17), non riesco a trovare tracce di alcun file di registro.
Ecco il mio file log4j.properties:
# 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
Sul mio computer, posso vedere il file logging.log proprio all'interno della cartella di progetto. In tal senso, tutto funziona perfettamente. Tuttavia, sul PC dell'utente, non vi è alcun segno di questo file. Non in C: \ (dove pensavo che sarebbe), non in C: \ Programmi (x86) \ o altrove. Ho eseguito una ricerca completa del mio disco rigido, ma non viene restituito nulla.
Dove deve essere memorizzato questo file? Le mie proprietà sono impostate correttamente? Molto confuso ...
Grazie!
L'utente sul computer di destinazione può creare file nella directory radice sull'unità c? – DwB
Per iniziare, i backslash nei file delle proprietà devono essere raddoppiati: 'C: \\ logging.log'. O usare le barre in avanti, poiché Windows le accetterà: 'C:/logging.log' – Kenster
DwB - sì, hanno i privilegi completi per c: \. Non credo che questo sia un problema di permessi. – Alex