2016-05-26 84 views
0

我正在記錄我的sapui5應用程序中的東西。如何清除ui5中的日誌?

在某些時候,我得到了迄今爲​​止使用getLogEntries()記錄的所有日誌,並堅持它們。現在我可以以某種方式刪除jQuery.sap.log中的那些日誌,以便在我再次訪問getLogEntries()時再次獲取它們嗎?

這些只是症狀。問題根源是我沒有這些對象的唯一鍵。但對於持久性,我必須有一個UID。

+0

只是不要再次調用'getLogEntries' ... – Rayon

+0

@Rayon我必須這樣做..而我無法刷新頁面來清除日誌.. – inetphantom

+0

你正在調用一個函數,你不想發生在處理程序中發生了什麼... – Rayon

回答

1

只是一些想法;)

理念1: 我不清楚自己真正的問題是什麼,但實現你的目標,你可以執行getLogEntries,保存例如記錄的項目或項目本身的量。如果你想再次登錄,你可以迭代直到該位置,以切斷前面的條目。

想法2: 另一方面,如果它的非生產性代碼可以擴展現有的記錄器。它在jQuery.sap.global中定義。加載dbg源以獲取非縮進版本。應該從〜800行開始定義。

想法3: 擴展現有的記錄器,想法是添加額外的代碼,以便您不需要更改現有的記錄器,但您註冊了一些事後回調。這樣你可以添加自定義代碼。

jQuery.sap.log.oldDebug = jQuery.sap.log.debug 
jQuery.sap.log.debug = function(,,){jQuery.sap.log.oldDebug(,,); /* Custom Code like adding own log to some array*/ } 
jQuery.sap.log.getCustom = function() {/* get from custom array */} 
jQuery.sap.log.reset = function() {/* delete all entrys in array */} 

所以它很大程度上取決於你的用例。每種解決方案都有優點和缺點。但看看來源,這是安靜的幫助

+0

我將對記錄器進行更改,因爲如果出現錯誤/致命錯誤,我想獲取日誌。問題是我不想更改簽名,因爲我需要標準作爲後備。但是,感謝您的輸入,我會在完成時告訴解決方案! – inetphantom

+0

好的!只是有另一個想法...如果它對其他也有用,你可以使用新的刪除方法在github上使用pullRequest來打開UI5 – chaosbohne

+0

我認爲更多的是像'read'這樣的標誌或一個鍵,以便知道哪些日誌是allready handeld。 – inetphantom