2017-06-13 50 views
1

我們只簡單使用java.util.logging中的日誌信息,錯誤等等,那麼我可以通過多種方式查看這些日誌:如何獲取包含堆棧跟蹤的bluemix日誌?

  1. CF logs命令
  2. bluemix Web控制檯(日誌聚合器)
  3. kibana Web UI的
  4. ssh和貓/home/vcap/logs/messages.log

如果我登錄的消息,它無處不顯示出來。如果我記錄一條消息並傳遞一個異常參數,那麼消息在任何地方都會顯示,但該異常僅顯示在/home/vcap/logs/messages.log中。異常和堆棧跟蹤不會顯示在cf日誌,bluemix控制檯或kibana中。由於messages.log文件的大小有限,並且在重新執行階段不會保留,所以我不能總是查看它以獲取我需要的信息。

那麼我該如何確保包括異常在內的完整日誌消息被完全記錄?

回答

0

默認情況下,messages.log將只包含日誌記錄組件寫入或捕獲的消息。 FFDC日誌(在每個應用程序的日誌目錄中)應該包含完整的堆棧跟蹤。見[1]和[2]爲詳情:

[1] https://console.bluemix.net/docs/runtimes/liberty/loggingAndTracing.html#logging_tracing

[2] https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/rwlp_logging.html

+0

非常感謝,但不幸的是,日誌記錄組件並未將所有內容都寫到發送給它的message.log中。示例: sLogger.log(Level.WARNING,「hello」,new ServletException(「This is a caught exception。」)); 這將記錄「你好」,但不是來自異常的消息或堆棧。由於它是一個被捕獲的異常,堆棧不會寫入ffdc。 – Mike

+0

如果我不記錄異常,而是讓Liberty處理它,那麼異常記錄在messages.log中,但是每個堆棧跟蹤行在Kibana(和Logs web ui)中顯示爲不同的條目。這使得很難找到和讀取異常。我不想依賴ffdc文件來獲取堆棧,因爲這意味着我們不能只監視一個文件,並且在重新啓動該文件夾時,它們將被刪除。我期待Kibana成爲讀取/存儲/檢索日誌的最佳地點,但它們格式不正確,我只知道它們只保留了7天。 – Mike

+0

有其他人找到和我一樣的結果嗎?是否有使用其他日誌庫(log4j,slf4gj等)的不同行爲。我們可以使用更好的日誌同步嗎? – Mike

相關問題