1. 程式人生 > >如何快速定位tomcat叢集中的錯誤日誌出處

如何快速定位tomcat叢集中的錯誤日誌出處

        在執行中發現一個非常惱火的事情 每次的報錯資訊都要挨個查詢每個tomcat 中web應用的日誌資訊,查詢究竟是哪個應用報出的錯。很是費時間。所以就想能不能獲取當前應用的埠號來判斷。一開始想到的request.getLocalPort() 和request.getLocalPort()這個方法,但是試驗後發現不管是哪個tomcat應用下報的錯 獲取到的都是 apache 服務的埠號。因為應用服務是80 埠(也就是apache埠)

     想另外一種方法:

編輯檔案${tomact-dir}/bin/catalina.bat, 新增以下內容即可:
set JAVA_OPTS=-D<key>="<value>"

如:
set JAVA_OPTS=-Dreyo.localPort="8081" 然後在程式取出 System.getProperty("reyo.localPort")了

測試: 抓取錯誤資訊並且返回:

msg="埠號:"+System.getProperty("reyo.localPort")+"丟擲異常:"+msg;