我正在我的 sapui5 应用程序中记录内容。
在某些时候,我得到了迄今为止记录的所有日志 getLogEntries()
并坚持下去。现在我可以以某种方式从 jQuery.sap.log
中删除这些日志,以便在我再次 getLogEntries()
时不再获取它们吗?
这些只是症状。问题根源在于我没有这些对象的唯一键。但为了持久化,我必须有一个 UID。
请您参考如下方法:
只是一些想法;)
想法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 */}
所以这在很大程度上取决于您的用例。每种解决方案都有优点和缺点。但是看看源代码,这很有帮助