[發明專利]基于日志的iOS應用程序埋點采集方法及裝置在審
| 申請號: | 202110007581.1 | 申請日: | 2021-01-05 |
| 公開(公告)號: | CN112685262A | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | 胡少華 | 申請(專利權)人: | 上海中通吉網絡技術有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30 |
| 代理公司: | 北京細軟智谷知識產權代理有限責任公司 11471 | 代理人: | 葛鐘 |
| 地址: | 201799 上*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 日志 ios 應用程序 采集 方法 裝置 | ||
本發明涉及埋點采集相關技術領域,具體涉及一種基于日志的iOS應用程序埋點采集方法及裝置。其中,基于日志的iOS應用程序埋點采集方法,包括:調整日志系統,確保日志字符串中包含調用的位置信息;配置采集事件表;根據采集事件表的配置,對于符合條件的日志進行采集并記錄。通過該技術方案,將顯式的代碼埋點融于日志系統中,減少侵入性代碼,降低維護成本,并可靈活的應對埋點要求,不需要為埋點要求放棄主業務的更優解,發揮iOS平臺的最新的特性。
技術領域
本發明涉及埋點采集相關技術領域,具體涉及一種基于日志的iOS應用程序埋點采集方法及裝置。
背景技術
現有埋點方案主要有代碼埋點、可視化埋點和全埋點。代碼埋點,開發人員在業務功能代碼中,手動插入采集事件的代碼,為侵入性埋點。可視化埋點,開發人員將所有可采集的事件以SDK的方式提供,由業務人員圈選需要的事件下發給客戶端進行選擇性采集,SDK不侵入具體的業務功能代碼,為無侵入性埋點。全埋點,開發人采集所有事件,并全部上報,實現原理同可視化埋點,也是無侵入性買點。許多項目在開啟之前并無埋點或者只有少量埋點要求,一般采用代碼埋點方法,該方法獲取數據靈活,開發簡單。當項目成長起來,埋點需求增多時候,代碼埋點維護成本越來越高,進而采用可視化和全埋點方法等無侵入埋點方法,由于業務的復雜性和開發語言的客觀限制,單獨的無侵入埋點方法可能無法滿足實際需求,或者需要大量修改主業務代碼,所以開發中需要采用無侵入和侵入性埋點相結合的方法達成最終的埋點要求。
但是,代碼埋點方法,由于需要顯式的增加埋點方法,而且新增一個埋點時候,都需要添加埋點代碼,所以維護成本高,代碼侵入性強。可視化埋點和全埋點都是基于的技術是Objective-C的運行時技術,一般針對埋點方法,會hook出常用類的一些常用方法,這使的埋點覆蓋功能受限;而且現實需求是多樣的,非常用的類和方法總是接踵而至,由于不能侵入主業務代碼,導致需要編寫復雜的代碼邏輯,遠不如代碼埋點來的靈活方便。另外,在Swift中使用運行時技術,必須要繼承自NSObject,也限制了Swift語言特性的發揮。
發明內容
有鑒于此,提供一種基于日志的iOS應用程序埋點采集方法及裝置,以解決相關技術中的問題。
本發明采用如下技術方案:
第一方面,本發明實施例提供了一種基于日志的iOS應用程序埋點采集方法,包括:
調整日志系統,確保日志字符串中包含調用的位置信息;
配置采集事件表
根據采集事件表的配置,對于符合條件的日志進行采集并記錄。
可選的,所述調整日志系統,確保日志字符串中包含調用的位置信息,包括:
針對Objective-C中的NSLog方法,使得NSLog包含__FUNCTION__,__LINE;
針對Swift中的Print函數,使得print包含#file,#function,#line。
可選的,所述配置采集事件表,包括:
采集事件表包含OC類和Swift類;OC類為以類名為鍵名的方法列表定義;Swift類為文件名為鍵名的函數列表。
可選的,還包括:
輸出采集的信息。
第二方面,本申請提供一種基于日志的iOS應用程序埋點采集裝置,包括:
調整模塊,用于調整日志系統,確保日志字符串中包含調用的位置信息;
配置模塊,用于配置采集事件表
記錄模塊,用于根據采集事件表的配置,對于符合條件的日志進行采集并記錄。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海中通吉網絡技術有限公司,未經上海中通吉網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110007581.1/2.html,轉載請聲明來源鉆瓜專利網。





