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 &
還是有更好的解決辦法?