在云環境上使用SLF4J對Java程序進行日志記錄
時間: 2018-10-22來源:OSCHINA
前景提要
我開發了一個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改掉之后錯誤就解決了。

要獲取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:

科技資訊:

科技學院:

科技百科:

科技書籍:

網站大全:

軟件大全:

熱門排行
女人个人私人电话联系杭州的|热久久久久香蕉无品码|爱情岛亚洲永久自拍品质|国产丶欧美丶日本不卡