標籤:style http color os ar 使用 java for sp
原始碼:http://git.oschina.net/openkoala/koala
koala-business子模組
模組劃分
模組名 |
作用 |
koala-businesslog-api |
業務日誌系統的核心api |
koala-businesslog-impl |
業務日誌系統的koala的預設實現 |
koala-businesslog-web |
業務日誌系統web模組 |
koala-businesslog-acceptance-test |
業務日誌系統的整合測試,也是業務日誌系統的 **範例**,實際使用時,可以參考此模組 |
時序圖
類圖
koala-businesslog-api模組
koala-business-impl模組
詞彙表
類名 |
說明 |
BusinessLogServletFilter |
實現filter介面,抽象父類,定義抽象方法beforeFilter |
LogFilter |
繼承beforeFilter,實現beforeFilter方法,設定使用者名稱、IP |
AbstractBusinessLog |
自訂業務日誌抽象父類,包含log,category欄位 |
DefaultBusinessLog |
系統預設業務日誌實體類,包含使用者名稱、IP、時間 |
BusinessLogExporter |
業務日誌匯出介面 |
BusinessLogExporterImpl |
系統預設業務日誌匯出實作類別,儲存到資料庫 |
ThreadLocalBusinessLogContext |
執行緒區域變數上下文,實現資料線上程內共用 |
BusinessLogInterceptor |
AOP攔截器 |
BusinessLogThread |
業務日誌線程執行類 |
GroovyObjectClassCache |
Groovy對象緩衝類 |
ConfigConstant |
系統配置常量類 |
groovy考量
使用groovy語言來實現日誌模板的記錄而不是XML,考量的因素如下:
1. 它支援動態修改,而無須重啟服務
2. 使用groovy並不會帶來太大的學習成本,以寫java代碼的方式來寫就可以了
3. 這種方式可以擷取關聯查詢,如方法中deptId,但日誌中我想拿的是deptName(如:架構部),那使用groovy,你可以便於使用編寫java代碼來實現
4. 它有文法檢驗,使用XML配置,要做到這一點有難度
Koala業務日誌系統設計說明