1
给他们,我开始我的Linux服务器上的应用程序,像这样捕捉RuntimeExceptions,并通过电子邮件
/usr/local/bin/jsvc \
-home /usr/local/jdk1.8.0_111 \
-cp /opt/myapp/myapp.jar:/opt/myapp/lib/* \
-user myappuser \
-outfile /opt/myapp/out.log \
-errfile /opt/myapp/error.log \
-pidfile /opt/myapp/myapp.pid \
com.example.MyApp
的命令,我在我的应用程序使用log4j
用于记录和它自己的配置描述在log4j.properties
它位于myapp.jar
里面。
我希望能够捕捉到应用程序中发生的任何异常,并通过电子邮件发送给我。为此,我在log4j.properties
中配置了org.apache.log4j.net.SMTPAppender
。
但是目前RuntimeException
,像NullPointerException
只是打印到stderr
其中jsvc
重定向到error.log
而不施加log4j
格式设置模式。
是否有可能或者我应该运行的应用程序,而不jsvc
包装像
nohup java -jar /opt/myapp/myapp.jar &
还是有更好的解决办法?