1. 程式人生 > >雲應用開發之新浪SAE日誌檢視

雲應用開發之新浪SAE日誌檢視

       在應用開發過程中,除錯是非常重要的一步,在此過程中我們可以跟蹤程式執行的中間結果,用以分析程式執行是否符合預定邏輯。在本地開發中,藉助System.out和log4j可以很容易列印中間結果,但把程式部署到雲端之後,要檢視程式日誌還是有些地方是需要注意的,因為雲平臺會把日誌分類,根據不同的查詢條件顯示不同輸出方式的日誌內容

本文以一個簡單的註冊web app為例,分步驟說明雲應用SAE的日誌檢視方式。

一、web app開發及SAE雲應用部署

web app使用struts2 + jsp + log4j開發而成。需要說明的是在開發和匯出war包時均無特殊之處,和部署到tomcat過程一致

。打包完成後,在SAE程式碼管理頁面上傳war包即可,和本地部署不同的是,部署到SAE後,該web app會立即啟動。web app頁面設計如下


二、web app後臺action中日誌列印程式碼如下

protected void outputDebug(){
		//system.out
		System.out.println("引數除錯!輸出自System.out.println!");
		System.out.println("引數除錯!輸出自System.out.println!");
		System.out.println("引數除錯!輸出自System.out.println!");
		
		//log.info
		log.info("除錯引數!!!輸出自log.info!!!");
		log.info("除錯引數!!!輸出自log.info!!!");
		log.info("除錯引數!!!輸出自log.info!!!");
		
		//log.error
		log.error("除錯引數!!!輸出自log.error!!!");
		log.error("除錯引數!!!輸出自log.error!!!");
		log.error("除錯引數!!!輸出自log.error!!!");
		
		//log.warn
		log.warn("除錯引數!!!輸出自log.warn!!!");
		log.warn("除錯引數!!!輸出自log.warn!!!");
		log.warn("除錯引數!!!輸出自log.warn!!!");
		
		//log.debug
		log.debug("姓名:" + report_name + ",輸出自log.debug!!!");
		log.debug("暱稱:" + column1 + ",輸出自log.debug!!!");
		log.debug("郵箱:" + column2 + ",輸出自log.debug!!!");
		log.debug("聯絡方式:" + column3 + ",輸出自log.debug!!!");
	}

三、SAE雲平臺日誌檢視

1、官方文件對SAE雲平臺說明如下,一定要仔細看平臺開發文件


2、瀏覽器訪問SAE雲應用

這裡需要說明的是,在訪問SAE應用時,需要寫出完整的URL,例如

http://7.reporttable.applinzi.com/index.jsp,不能寫成

http://7.reporttable.applinzi.com/,即使在web.xml中配置如下程式碼也不行。

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
填寫web app表格


3、檢視SAE應用日誌

在新浪雲控制檯左側運維子項下進入日誌中心


(1)檢視log4j.debug輸出日誌:


(2)檢視log4j.err輸出日誌

其它引起程式報錯的日誌也在此檢視,例如java.lang.NullPointerException,jar衝突等。


(3)檢視log4j.warn輸出日誌


(4)檢視log4j.info和system.out輸出日誌