Java Logging & Unix Nohup проблема - PullRequest
1 голос
/ 15 июня 2011

Я создал небольшую программу, которая записывает текстовые данные в файл о каком-либо действии. Я получаю доступ к удаленной системе, где программа развернута Putty. Я запустил программу, используя nohup, чтобы она продолжала работать, даже если я выключил свою оболочку. Пока я вошел в оболочку, он продолжает регистрировать данные. Однако, как только я выхожу из своей оболочки, он прекращает запись в файл журнала. Моя программа все еще продолжает работать только потому, что она не записывает в файл журнала. Я использую Java 1.6 + slf4j + log4j для ведения журнала. ОС является Ubuntu.

Буду признателен за помощь.

EDIT: мои log4j.properties

log4j.rootLogger=DEBUG

log4j.appender.AdminFileAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.AdminFileAppender.File=pdmLogs.log
log4j.appender.AdminFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.AdminFileAppender.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} -- %p %t %c - %m%n

log4j.appender.ReportFileAppender=org.apache.log4j.ConsoleAppender
log4j.appender.ReportFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ReportFileAppender.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} -- %p %t %c - %m%n

log4j.logger.com.xxx.xxx.yyy=ReportFileAppender,AdminFileAppender
log4j.logger.com.xxx.xxx.zzz=ReportFileAppender,AdminFileAppender

Я выполняю команду:

nohup java -cp jarfile.jar com.xxx.xxx.yyy.Main &

Ответы [ 2 ]

1 голос
/ 15 июня 2011

Попробуйте изменить конфигурацию на:

log4j.rootLogger=DEBUG, AdminFileAppender
...
0 голосов
/ 15 июня 2011

Как вы запускаете программу? После запуска программы вы видите ее в списке запущенных процессов, выполнив ps -ef | grep <process-id> Просто чтобы убедиться, что ваша программа не блокируется в любое время, ожидая ввода? Также проверьте выходное значение вашего процесса.

...