2017-08-24 21 views
0

我使用下面的代碼的Java獲取異常而調用Web服務,但唯一的例外是空

public static ServResponse enGenderAndSentiment(String url, Tweet t) { 

     HttpClient httpClient = new DefaultHttpClient(); 
     String responseBody = ""; 
     ServResponse holder = null; 

     try { 
      # calling a web service here 
     } catch (Exception ex) { 
      logger.debug("Exception while calling api for : " + t.getId()); 
      logger.debug(ex); 
     } finally { 
      httpClient.getConnectionManager().shutdown(); 
     }  

     return holder; 

    } 

在執行上面的代碼中拋出一個異常調用Web服務,當我檢查日誌文件,我在調用時發現異常消息...但我本身沒有被記錄。

這裏有什麼問題?爲什麼第二個日誌記錄語句不在日誌文件中打印任何內容?

+1

你能告訴我們的日誌? – anomeric

+0

可能因爲您的記錄器而發生,是當前級別>調試?試着簡單地printStackTrace並看看你得到了什麼。 –

+0

@MehdiB。咦?在服務器上?是什麼讓你認爲將堆棧跟蹤打印到控制檯將在任何地方都可見? – GhostCat

回答

1

使用logger.error(ex,ex);而不是logger.debug(ex);也記錄堆棧跟蹤(帶有可選原因除外)...