在雲環境上使用SLF4J對Java程式進行日誌記錄
我開發了一個Java應用,部署到雲環境上之後,用postman測試發現不能按照我期望的工作,但是返回的訊息對我沒有任何幫助。
因為部署在雲端的應用很難像本地Java應用一樣除錯,所以我打算用SLF4J在Java程式碼裡新增一些日誌,然後檢視該Java應用在雲端執行產生的日誌來排查問題。
SLF4J的全稱是Simple Logging Facade for Java, 即簡單日誌門面,這裡的Facade實際上是物件導向的設計模式中的外觀模式(Facade pattern)。SLF4J不是具體的日誌解決方案,它本身不包含日誌記錄的具體實現,而是隻提供一個外觀給各種各樣的日誌系統,這樣就給具體應用提供了很大的靈活度,使得終端使用者在部署其應用時可以靈活選用其所希望的日誌系統。
SLF4J的使用非常簡單,在您的應用程式碼裡將SLF4J的Logger和LoggerFactory匯入:
import org.slf4j.Logger;import org.slf4j.LoggerFactory;
然後在引用程式碼裡用LoggerFactory獲得logger例項:
static private Logger logger = LoggerFactory.getLogger(XCDService.class);
然後用logger.info進行日誌記錄。
將加了SLF4J日誌記錄的程式碼重新上傳到雲平臺上。我用的是SAP雲平臺。
登入SAP雲平臺的控制檯,點選Logging標籤頁:
點Configure Loggers:
因為我的應用程式碼放在com.sap.service包下面,所以我根據這個包名進行過濾:
將這兩個Logger對應的Log Level日誌級別設定成INFO:
再次用postman請求部署在SAP雲平臺上的服務,然後去雲平臺控制檯上檢視生成的日誌檔案:
點選檢視按鈕即可看到日誌的具體內容,一下子就定位出問題的原因了。我在伺服器端的HTTP響應頭欄位Content-type設定的值為application/json,但是返回的JSON字串不符合JSON格式規範。把這個bug改掉之後錯誤就解決了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2213993/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記錄騰訊雲使用日誌
- 使用 logzero 在 Python 中進行簡單日誌記錄Python
- Gin 框架 - 使用 logrus 進行日誌記錄框架
- 使用Log4j進行日誌記錄
- .Net Core中使用DiagnosticSource進行日誌記錄
- 對比Elasticsearch,使用Doris進行高效日誌分析(上)Elasticsearch
- SLF4J日誌記錄常見寫法
- 在java下使用log4j2記錄日誌Java
- Laravel記錄執行的SQL到日誌(開發環境和生產環境都用得上)LaravelSQL開發環境
- SLF4J記錄日誌&&日誌檔案的滾動策略__SpringBootSpring Boot
- SLF4J日誌的使用
- 使用Java和Elastic Stack進行日誌分析JavaAST
- 簡單使用SLF4J日誌
- Java日誌框架:SLF4J詳解Java框架
- 使用shell指令碼對Nginx日誌進行切分指令碼Nginx
- MAC上Flutter環境搭建記錄MacFlutter
- php日誌,記錄日誌PHP
- 對比Elasticsearch,使用Doris進行高效日誌分析(下)Elasticsearch
- 使用shell進行日誌分析
- 在Linux環境下使用OpenSSL對訊息和檔案進行加密Linux加密
- Python多程式記錄日誌Python
- 使用Redis記錄系統日誌Redis
- 使用Rsyslog記錄Apache日誌Apache
- 使用 .NET Core 的日誌記錄
- java學習日記-java環境的配置Java
- 在myeclipse中使用log4j記錄日誌Eclipse
- 使用配置檔案方式記錄Python程式日誌Python
- 日誌框架SLF4J框架
- 日誌SLF4J解惑
- 在ORACLE中對線上重做日誌檔案進行調整Oracle
- 感覺在網上記錄oralce的一些日誌還是不方便,因此大量的日記記錄在本本上了
- C# 使用Log4Net記錄日誌(進階篇)C#
- 【RAC】 oracleasm 工具對應的日誌記錄OracleASM
- downstream環境下archive程式停止傳輸日誌Hive
- 在Golang中使用Zap實現結構化日誌記錄Golang
- 日誌記錄器
- 在日誌中記錄Java異常資訊的正確姿勢Java
- .NET Core使用Nlog記錄日誌