【发布时间】:2011-06-15 04:24:41
【问题描述】:
我创建了一个小程序,它在某些操作上将文本数据记录到文件中。我正在访问由 Putty 部署程序的远程系统。我已经使用 nohup 运行了程序,这样即使我关闭了我的 shell,它也能继续运行。直到我登录到 shell 时,它才会继续记录数据。但是,一旦我退出我的 shell,它就会停止写入日志文件。我的程序仍然继续运行,只是它没有写入日志文件。 我正在使用 Java 1.6 + slf4j+log4j 进行日志记录。操作系统是 Ubuntu。
不胜感激。
编辑: 我的 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 &
【问题讨论】:
-
您是否以
nohup java -cp ... myMainClass &运行它? (注意&) -
是的,我在后台运行它
-
您的 log4j 是否也配置了
console appender?如果是的话 - 你有没有试过把它关掉,只留下file appender? -
是的,有一个控制台 Appender。我把它关掉看看
-
发布您的
log4j.xml/log4j.properties- 它可能会有所帮助。以及您正在运行的确切命令
标签: java unix logging log4j nohup