在EOS5中,日誌文件中記錄 信息一般是如下格式[@數據類型][數據值],帶有@的是表示後面值的類型,值會緊跟着對應的數據的類型
EOS產生的日誌文件有如下四個
1.eoslog.log,這個文件中記錄了EOS應用運行時,產生的日誌信息。
根據在EOSMGR中設置不同的日誌級別,輸 出不同級別的日誌信息
常見的數據類型有:
[@level][ERROR] 表示當前記錄日誌的級別
[@requestID][1239673854059] 表示請求的ID號
[@module][BIZ] 當前模塊的類型
[@bizName][bizAssignment.bizSelfFinishedBizProcessQuery1] 對應執行的BIZ名稱
[@module][PR] 當前對應的模塊PR
[@prName][wfmgr.prAssignment.prFinishedBizProcessQuery] 對應PR的名稱
[@clientIP][10.201.92.38]對應訪問此模塊或者功能的用戶的IP
[@timestamp][2009.04.14 at 14:11:52 907] 模塊的執行時間
[@sender][defaultAppID.com.primeton.tp.web.driver.webdriver.WebDriverUpload] 當前日誌輸出的類文件
[@module][DB] 當前模塊爲數據庫操作模塊
根據以上這些信息可以明確的定位出錯的代碼。
2.userAccessMonitor.log
[2009-04-21 08:29:17,892][1240224115429][B][B][wfmgr.bizAssignment.bizJoinParticipant1][wfmgr.bizAssignment.bizSelfBizProcessQuery1][1061814272][990881824][吳志強][10.194.70.161]
[2009-04-21 08:29:17,893][1240224115429][E][B][wfmgr.bizAssignment.bizJoinParticipant1][wfmgr.bizAssignment.bizSelfBizProcessQuery1][1061814272][990850568][吳志強][10.194.70.161][S]
這條日誌是此文件中出現格式的基本形式
[2009-04-21 08:29:17,893]: 表示運行此BIZ的時間
[1240224115429]:表示執行此請求的ID
][B][B] 表示BIZ的開始執行,第一個B表示開始,第二個B,表示類型是PR,還是BIZ
[E][B] 表示此BIZ的執行結束,第一個E表示結束,第二個B,表示類型是BIZ
wfmgr.bizAssignment.bizJoinParticipant1 表示執行的具體BIZ
1061814272 表示JVM的可用最大內存
990850568 表示JVM的空閒內存
吳志強 表示當前操作用戶
10.194.70.161 有示當前操作用戶的IP
10.194.70.161][S] 這個當中的S,表示執行成功,如果是F,表示執行失敗
3.wfmonitor.log
此文件記錄的日誌全是和流程引擎相關的日誌,常見的格式如下:
[2009-04-15 10:28:10,369] [@requestID][1239699333757][@Status][B][@sender][finishWorkItem][@User][黃逸明][@ProcInstID][6899][@WorkItemID][20567]
[2009-04-15 10:28:10,422] [@requestID][1239699333757][@Status][E][@sender][finishWorkItem][@During][53][@Result][successed][@Trans][Commited][@ProcInstID][6899][@WorkItemID][20567]
[2009-04-15 10:28:10,422] 執行的當前時間
[@requestID][1239699333757 用戶的請求ID
[@Status][B 表示是開始還是結束
[@User][黃逸明 表示當前用戶
[@Result][successed執行結果,是成功還是失敗
[@Trans][Commited 事物提交
[@Trans][UnCommit] 事物未提交
[@ProcInstID][6899] 流程實例ID
[@WorkItemID][20567] 工作項ID
[@sender][finishWorkItem] 流程引擎執行的功能
[@Other][participant] 對應的參與者數據
[@ActInstID][34550] 表示活動實例
流程引擎底層的錯誤信息也會在個文件中輸出。
4.consoleLog.log
此文件記錄了控制中的所有操作,包含登錄,構件包發部等
- {user_name=sysadmin, operation_name=com.primeton.tp.core.config.mbean.EOSConfigRemoteServiceObject.getConfigValues, target_app=defaultAppID, operation_id=, timestamp=1236738438581, ip=10.201.92.38, target_server=localhost}
{user_name=draw090310.epp, operation_name=copy file /opt/EOS/eosserver/tmp/draw090310/draw/bizInter/bizWarehouseAmountUpdate.bza to /opt/EOS/eosserver/bizlogic/draw/bizInter///bizWarehouseAmountUpdate.bza, operation_id=, target_app=, timestamp=1236687584289, ip=cp_success, target_server=localhost}
這個文件的日誌比較簡單很容易看清。
取得這些日誌件的日誌是爲了方便定位生產系統中出現的問題,問題定位的過程可以按以下幾個步驟
1、在EOSLOG中找出出現錯誤的BIZ或者PR的功能模塊,並記錄操作用戶、請求ID及問題出現時間
2、根據已找到的請求ID,到userAccessMonitor中找到出現問題時間內的請求ID對應的執行過程,同一個用戶的請求ID是相同的,可以用UE打開,查找請求ID,就可以查看到用戶的請求過程,這樣可以快的找到用戶的代碼執行過程。
3、如是涉及到工作流相關的功能,可以通過請求ID,在wfmonitor中找到工作流引擎數據的變化,工作流執行了哪 些操作。
總之,貫穿三個重要日誌文件中都有的就是相近的時間以及請求ID,通過請求ID,可以更快速的定位到問題及原因
通過以上三步,基本上就可以很快的定位出現問題的原因及數據。