IT虾米网

javascript之ui5中如何清除日志

insus 2025年01月19日 程序员 37 0

我正在我的 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 */} 

所以这在很大程度上取决于您的用例。每种解决方案都有优点和缺点。但是看看源代码,这很有帮助


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!