應用程式日誌Sample
以下是一個應用程式日誌的例子,
主要用到了:BAL_LOG_CREATE、BAL_LOG_MSG_ADD、BAL_DB_SAVE這幾個FUNCTION。
[@more@]REPORT Z_APP_LOG.
*----------------------------------------------------------------------*
* CONSTANTS DEFINITION
*----------------------------------------------------------------------*CONSTANTS:
PROBCLASS_VERY_HIGH TYPE BAL_S_MSG-PROBCLASS VALUE '1'.
*----------------------------------------------------------------------*
* DATA DEFINITION
*----------------------------------------------------------------------*DATA:
G_S_LOG TYPE BAL_S_LOG, "Log header data
G_LOG_HANDLE TYPE BALLOGHNDL, "Log handle
G_MSG(72) TYPE C.
DATA:
L_S_MSG TYPE BAL_S_MSG, "Message Data
LOGNUMBER TYPE BAL_T_LGNM, "Newly-Assigned LOGNUMBER Table
WA_LOGNUMBER LIKE BAL_S_LGNM, "Newly assigned LOGNUMBER
LT_BALLOGHNDL TYPE BAL_T_LOGH. "Log handle internal table
*----------------------------------------------------------------------*
* START-OF-SELECTION
*----------------------------------------------------------------------*START-OF-SELECTION.
* Define header data of this log
G_S_LOG-EXTNUMBER = 'Application Log Demo'.
G_S_LOG-OBJECT = 'BCT1'.
G_S_LOG-ALDATE = SY-DATUM.
G_S_LOG-ALTIME = SY-UZEIT.
G_S_LOG-ALUSER = SY-UNAME.
G_S_LOG-ALPROG = SY-REPID.
* Create a log
CALL FUNCTION 'BAL_LOG_CREATE'
EXPORTING
I_S_LOG = G_S_LOG
IMPORTING
E_LOG_HANDLE = G_LOG_HANDLE
EXCEPTIONS
LOG_HEADER_INCONSISTENT = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ENDIF.
* Store log handle in global internal table for DB save later & flush
APPEND G_LOG_HANDLE TO LT_BALLOGHNDL.
MESSAGE I000(VZ) INTO G_MSG.
L_S_MSG-MSGTY = SY-MSGTY.
L_S_MSG-MSGID = SY-MSGID.
L_S_MSG-MSGNO = SY-MSGNO.
L_S_MSG-MSGV1 = SY-MSGV1.
L_S_MSG-MSGV2 = SY-MSGV2.
L_S_MSG-MSGV3 = SY-MSGV3.
L_S_MSG-MSGV4 = SY-MSGV4.
L_S_MSG-PROBCLASS = PROBCLASS_VERY_HIGH.
CALL FUNCTION 'BAL_LOG_MSG_ADD'
EXPORTING
I_S_MSG = L_S_MSG
I_LOG_HANDLE = G_LOG_HANDLE
EXCEPTIONS
LOG_NOT_FOUND = 0
OTHERS = 1.
IF SY-SUBRC <> 0.
ELSE.
CALL FUNCTION 'BAL_DB_SAVE'
EXPORTING
I_CLIENT = SY-MANDT
I_IN_UPDATE_TASK = ' '
I_SAVE_ALL = ' '
I_T_LOG_HANDLE = LT_BALLOGHNDL
IMPORTING
E_NEW_LOGNUMBERS = LOGNUMBER
EXCEPTIONS
LOG_NOT_FOUND = 1
SAVE_NOT_ALLOWED = 2
NUMBERING_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
ELSE.
READ TABLE LOGNUMBER INTO WA_LOGNUMBER INDEX 1.
MESSAGE I000(VZ) WITH WA_LOGNUMBER-LOGNUMBER.
ENDIF.
ENDIF.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8214011/viewspace-897041/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [Java/日誌] 日誌框架列印應用程式日誌程式碼的執行情況Java框架
- ELK日誌系統之通用應用程式日誌接入方案
- expdp sample 應用一例
- DG沒有應用日誌應用日誌
- 如何在多個應用程式中共享日誌配置
- 從Jboss預設日誌檔案中分離應用日誌應用日誌
- Docker應用容器日誌資訊收集Docker
- 應用日誌採集是什麼意思?批次採集應用日誌軟體用哪個?怎麼操作?應用日誌
- 通過helm部署EFK收集應用日誌,ingress-nginx日誌解析。應用日誌Nginx
- MySQL複製應用中繼日誌解析MySql中繼
- 聯機重做日誌、歸檔日誌、備用重做日誌
- MYSQL啟用日誌和檢視日誌MySql
- 日誌管理程式
- 應急響應:日誌分析
- SAMPLE語句在統計資訊收集中應用
- 基於Docker應用容器日誌檔案收集Docker
- dg庫日誌應用慢引數調整
- 利用ELK搭建Docker容器化應用日誌中心Docker應用日誌
- mysql audit-訪問日誌記錄應用MySql
- 用70行程式碼實現日誌分析程式行程
- BusyCal for Mac(日曆應用程式)Mac
- 【Java雜記】日誌:Java日誌體系,從應用場景到發展歷史Java
- Data Guard備庫日誌的實時應用與非實時應用
- Java應用日誌如何與Jaeger的trace關聯Java應用日誌
- 如何在iOS手機上檢視應用日誌iOS應用日誌
- 一次漫長的歸檔日誌應用
- DataGuard備庫刪除已經應用的日誌
- oracle LOGICAL standby 日誌無法應用處理Oracle
- DataGuard已應用歸檔日誌刪除指令碼指令碼
- oracle實驗記錄 (physical standby 日誌應用方面)Oracle
- 使用 adb 命令獲取指定應用的日誌
- 程式中的日誌
- zabbix應用教程:基於Nginx頁面響應的日誌監控用例Nginx
- 運維平臺之應用日誌解決方案--ELK運維應用日誌
- Util應用框架基礎(六) - 日誌記錄(一) - 正文框架
- SSM(九) 反射的實際應用 - 構建日誌物件SSM反射物件
- MySQL案例之——生產slave庫無法應用日誌MySql應用日誌
- [zt]Logical STANDBY日誌應用延遲案例一則