• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    客戶端錯(cuò)誤日志收集方法及系統(tǒng)技術(shù)方案

    技術(shù)編號(hào):10719054 閱讀:315 留言:0更新日期:2014-12-03 20:15
    本發(fā)明專利技術(shù)提供了一種客戶端錯(cuò)誤日志收集方法及系統(tǒng),通過(guò)將全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,全局函數(shù)使用try?catch獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在catch中并不將JS代碼的錯(cuò)誤拋出,而是放置在一個(gè)全局變量中;在所述訪問(wèn)頁(yè)面運(yùn)行時(shí)用定時(shí)器去訪問(wèn)所述全局變量,一旦發(fā)現(xiàn)所述全局變量中有客戶端的JS代碼的錯(cuò)誤,使用throw方法將JS代碼的錯(cuò)誤拋到window.onerror事件中;在所述window.onerror事件中根據(jù)JS代碼的錯(cuò)誤獲取所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息,并將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器,本發(fā)明專利技術(shù)能夠及時(shí)收集真實(shí)用戶訪問(wèn)網(wǎng)站時(shí)其客戶端的錯(cuò)誤詳細(xì)信息,以供后續(xù)的分析和排錯(cuò)時(shí)迅速定位錯(cuò)誤來(lái)源,提升網(wǎng)站可用性。

    【技術(shù)實(shí)現(xiàn)步驟摘要】
    客戶端錯(cuò)誤日志收集方法及系統(tǒng)
    本專利技術(shù)涉及一種客戶端錯(cuò)誤日志收集方法及系統(tǒng)。
    技術(shù)介紹
    目前,由于訪問(wèn)互聯(lián)網(wǎng)用戶客戶端的網(wǎng)絡(luò)環(huán)境、電腦系統(tǒng)、瀏覽器版本等十分復(fù)雜且具有獨(dú)特性,而網(wǎng)站發(fā)布前只能通過(guò)模擬典型環(huán)境進(jìn)行測(cè)試,導(dǎo)致一些在特性環(huán)境下出現(xiàn)前端錯(cuò)誤往往無(wú)法重現(xiàn)。現(xiàn)有的做法是只有當(dāng)大批量用戶客戶端報(bào)故障時(shí)才去聯(lián)系客戶端,而且需要在客戶端提供具體信息后,才能進(jìn)行錯(cuò)誤排查。這種做法不但會(huì)對(duì)用戶造成損失和不良影響,而且容易延誤故障的處理的時(shí)間。
    技術(shù)實(shí)現(xiàn)思路
    本專利技術(shù)的目的在于提供一種客戶端錯(cuò)誤日志收集方法及系統(tǒng),能夠能夠及時(shí)收集真實(shí)用戶訪問(wèn)網(wǎng)站時(shí)其客戶端的錯(cuò)誤詳細(xì)信息,以供后續(xù)的分析和排錯(cuò)時(shí)迅速定位錯(cuò)誤來(lái)源,提升網(wǎng)站可用性。為解決上述問(wèn)題,本專利技術(shù)提供一種客戶端錯(cuò)誤日志收集方法,包括:定義一個(gè)全局函數(shù),并將所述全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,所述全局函數(shù)使用trycatch語(yǔ)法錯(cuò)誤捕獲方法獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在catch中并不將JS代碼的錯(cuò)誤拋出,而是放置在一個(gè)全局變量中;在所述訪問(wèn)頁(yè)面運(yùn)行時(shí)用定時(shí)器去訪問(wèn)所述全局變量,一旦發(fā)現(xiàn)所述全局變量中有客戶端的JS代碼的錯(cuò)誤,使用throw方法將JS代碼的錯(cuò)誤拋到window.onerror事件中;在所述window.onerror事件中根據(jù)JS代碼的錯(cuò)誤獲取所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息,并將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器。進(jìn)一步的,在上述方法中,將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器的步驟中,通過(guò)GET請(qǐng)求將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器。進(jìn)一步的,在上述方法中,所述錯(cuò)誤信息包括當(dāng)前訪問(wèn)頁(yè)面、出錯(cuò)文件、錯(cuò)誤名稱、錯(cuò)誤行號(hào)和錯(cuò)誤消息。進(jìn)一步的,在上述方法中,所述客戶端信息包括地理位置、IP、瀏覽器類型、瀏覽器版本號(hào)、出錯(cuò)時(shí)間和操作系統(tǒng)。根據(jù)本專利技術(shù)的另一面,提供一種客戶端錯(cuò)誤日志收集系統(tǒng),包括:全局函數(shù)模塊,用于定義一個(gè)全局函數(shù),并將所述全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,所述全局函數(shù)使用trycatch語(yǔ)法錯(cuò)誤捕獲方法獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在catch中并不將JS代碼的錯(cuò)誤拋出,而是放置在一個(gè)全局變量中;定時(shí)器模塊,用于在所述訪問(wèn)頁(yè)面運(yùn)行時(shí)訪問(wèn)所述全局變量,一旦發(fā)現(xiàn)所述全局變量中有客戶端的JS代碼的錯(cuò)誤,使用throw方法將JS代碼的錯(cuò)誤拋到window.onerror事件中;window.onerror事件模塊,用于在所述window.onerror事件中根據(jù)JS代碼的錯(cuò)誤獲取所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息,并將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器。進(jìn)一步的,在上述系統(tǒng)中,所述window.onerror事件模塊通過(guò)GET請(qǐng)求將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器。進(jìn)一步的,在上述系統(tǒng)中,所述window.onerror事件模塊獲取的所述錯(cuò)誤信息包括當(dāng)前訪問(wèn)頁(yè)面、出錯(cuò)文件、錯(cuò)誤名稱、錯(cuò)誤行號(hào)和錯(cuò)誤消息。進(jìn)一步的,在上述系統(tǒng)中,所述window.onerror事件模塊獲取的所述客戶端信息包括地理位置、IP、瀏覽器類型、瀏覽器版本號(hào)、出錯(cuò)時(shí)間和操作系統(tǒng)。與現(xiàn)有技術(shù)相比,本專利技術(shù)通過(guò)定義一個(gè)全局函數(shù),并將所述全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,所述全局函數(shù)使用trycatch語(yǔ)法錯(cuò)誤捕獲方法獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在catch中并不將JS代碼的錯(cuò)誤拋出,而是放置在一個(gè)全局變量中;在所述訪問(wèn)頁(yè)面運(yùn)行時(shí)用定時(shí)器去訪問(wèn)所述全局變量,一旦發(fā)現(xiàn)所述全局變量中有客戶端的JS代碼的錯(cuò)誤,使用throw方法將JS代碼的錯(cuò)誤拋到window.onerror事件中;在所述window.onerror事件中根據(jù)JS代碼的錯(cuò)誤獲取所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息,并將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器,能夠及時(shí)收集真實(shí)用戶訪問(wèn)網(wǎng)站時(shí)其客戶端的錯(cuò)誤詳細(xì)信息,以供后續(xù)的分析和排錯(cuò)時(shí)迅速定位錯(cuò)誤來(lái)源,提升網(wǎng)站可用性。附圖說(shuō)明圖1是本專利技術(shù)一實(shí)施例的客戶端錯(cuò)誤日志收集方法的流程圖;圖2是本專利技術(shù)一實(shí)施例的客戶端錯(cuò)誤日志收集系統(tǒng)的模塊示意圖。具體實(shí)施方式為使本專利技術(shù)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本專利技術(shù)作進(jìn)一步詳細(xì)的說(shuō)明。實(shí)施例一如圖1所示,本專利技術(shù)提供一種客戶端錯(cuò)誤日志收集方法,包括:步驟S1,定義一個(gè)全局函數(shù)run,并將所述全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,所述全局函數(shù)使用trycatch語(yǔ)法錯(cuò)誤捕獲方法獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在catch中并不將JS代碼的錯(cuò)誤拋出,而是放置在一個(gè)全局變量globalError中;步驟S1的具體實(shí)現(xiàn)程序可如下:步驟S2,在所述訪問(wèn)頁(yè)面運(yùn)行時(shí)用定時(shí)器去訪問(wèn)所述全局變量globalError,一旦發(fā)現(xiàn)所述全局變量中有客戶端的JS代碼的錯(cuò)誤,使用throw方法將JS代碼的錯(cuò)誤拋到window.onerror事件中,這樣可以解決跨域的scripterror的問(wèn)題;步驟S2的具體實(shí)現(xiàn)程序可如下:步驟S3,在所述window.onerror事件中根據(jù)JS代碼的錯(cuò)誤獲取所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息,并將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器。本專利技術(shù)一實(shí)施例中,步驟S3中,通過(guò)GET請(qǐng)求將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器,錯(cuò)誤日志收集服務(wù)器接收到錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息可以進(jìn)行實(shí)時(shí)數(shù)據(jù)存儲(chǔ)、分類匯總。可選的,所述錯(cuò)誤信息包括當(dāng)前訪問(wèn)頁(yè)面、出錯(cuò)文件、錯(cuò)誤名稱、錯(cuò)誤行號(hào)和錯(cuò)誤消息。可選的,所述客戶端信息包括地理位置、IP、瀏覽器類型、瀏覽器版本號(hào)、出錯(cuò)時(shí)間和操作系統(tǒng)。步驟S2的具體實(shí)現(xiàn)程序可如下:trycatch能夠捕捉到順序執(zhí)行代碼的錯(cuò)誤,無(wú)法捕獲延遲執(zhí)行的代碼,而且此錯(cuò)誤不會(huì)繼續(xù)傳播,同時(shí)如果要收集到JS文件中的錯(cuò)誤,需要在每個(gè)特定的函數(shù)外層增加trycatch;而window.onerror事件可以收集到所有類型的錯(cuò)誤,但是如果頁(yè)面引用的JS文件與頁(yè)面出現(xiàn)跨域情況時(shí),所有的錯(cuò)誤信息為“scripterror”,導(dǎo)致無(wú)法進(jìn)行錯(cuò)誤跟蹤排查。所以,本實(shí)施例采用javascript語(yǔ)言中的trycatch和window.onerror結(jié)合的方法進(jìn)行客戶端錯(cuò)誤信息的實(shí)時(shí)跟蹤和獲取,以克服單獨(dú)使用trycatch或window.onerror方法中存在的問(wèn)題。根據(jù)所述錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息能在第一時(shí)間通過(guò)日志分析出用戶特定的網(wǎng)絡(luò)環(huán)境、電腦系統(tǒng)、瀏覽器等信息,進(jìn)行錯(cuò)誤的重現(xiàn)和及時(shí)排查修復(fù),排查特定錯(cuò)誤時(shí)根據(jù)錯(cuò)誤日志收集服務(wù)器的記錄進(jìn)行篩選和排查,可以準(zhǔn)確迅速的定位到出錯(cuò)的特定環(huán)境和錯(cuò)誤原因,實(shí)時(shí)保證網(wǎng)站的可用性。實(shí)施例二如圖2所示,本專利技術(shù)還提供另一種客戶端錯(cuò)誤日志收集系統(tǒng),包括全局函數(shù)模塊1、定時(shí)器模塊2和window.onerror事件模塊3。全局函數(shù)模塊1,用于定義一個(gè)全局函數(shù),并將所述全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,所述全局函數(shù)使用trycatch語(yǔ)法錯(cuò)誤捕獲方法獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在cat本文檔來(lái)自技高網(wǎng)...
    客戶端錯(cuò)誤日志收集方法及系統(tǒng)

    【技術(shù)保護(hù)點(diǎn)】
    一種客戶端錯(cuò)誤日志收集方法,其特征在于,包括:定義一個(gè)全局函數(shù),并將所述全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,所述全局函數(shù)使用try?catch語(yǔ)法錯(cuò)誤捕獲方法獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在catch中并不將JS代碼的錯(cuò)誤拋出,而是放置在一個(gè)全局變量中;在所述訪問(wèn)頁(yè)面運(yùn)行時(shí)用定時(shí)器去訪問(wèn)所述全局變量,一旦發(fā)現(xiàn)所述全局變量中有客戶端的JS代碼的錯(cuò)誤,使用throw方法將JS代碼的錯(cuò)誤拋到window.onerror事件中;在所述window.onerror事件中根據(jù)JS代碼的錯(cuò)誤獲取所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息,并將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息回發(fā)給一錯(cuò)誤日志收集服務(wù)器。

    【技術(shù)特征摘要】
    1.一種客戶端錯(cuò)誤日志收集方法,其特征在于,包括:定義一個(gè)全局函數(shù),并將所述全局函數(shù)放置在訪問(wèn)頁(yè)面的JS代碼運(yùn)行函數(shù)的外層,所述全局函數(shù)使用trycatch語(yǔ)法錯(cuò)誤捕獲方法獲取客戶端所有的JS代碼的錯(cuò)誤,且所述全局函數(shù)在catch中并不將JS代碼的錯(cuò)誤拋出,而是放置在一個(gè)全局變量中;在所述訪問(wèn)頁(yè)面運(yùn)行時(shí)用定時(shí)器去訪問(wèn)所述全局變量,一旦發(fā)現(xiàn)所述全局變量中有客戶端的JS代碼的錯(cuò)誤,使用throw方法將JS代碼的錯(cuò)誤拋到window.onerror事件中;在所述window.onerror事件中根據(jù)JS代碼的錯(cuò)誤獲取所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息,并將所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息通過(guò)GET請(qǐng)求回發(fā)給一錯(cuò)誤日志收集服務(wù)器,所述錯(cuò)誤日志收集服務(wù)器收到所有錯(cuò)誤信息和對(duì)應(yīng)的客戶端信息后進(jìn)行實(shí)時(shí)數(shù)據(jù)存儲(chǔ)和分類匯總。2.如權(quán)利要求1所述的客戶端錯(cuò)誤日志收集方法,其特征在于,所述錯(cuò)誤信息包括當(dāng)前訪問(wèn)頁(yè)面、出錯(cuò)文件、錯(cuò)誤名稱、錯(cuò)誤行號(hào)和錯(cuò)誤消息。3.如權(quán)利要求1所述的客戶端錯(cuò)誤日志收集方法,其特征在于,所述客戶端信息包括地理位置、IP、瀏覽器類型、瀏覽器版本號(hào)、出錯(cuò)時(shí)間和操作系統(tǒng)。4.一種客戶端錯(cuò)誤日志收集系統(tǒng),其特征在于,包括:全局函數(shù)模塊,用于定義一個(gè)全局函數(shù),并將所述全局函數(shù)放置在訪問(wèn)頁(yè)...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:儲(chǔ)誠(chéng)棟
    申請(qǐng)(專利權(quán))人:攜程計(jì)算機(jī)技術(shù)上海有限公司
    類型:發(fā)明
    國(guó)別省市:上海;31

    網(wǎng)友詢問(wèn)留言 已有0條評(píng)論
    • 還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 亚洲爆乳无码专区| 中文精品无码中文字幕无码专区| 免费A级毛片无码A∨免费 | 亚洲a∨无码一区二区| 内射人妻无码色AV天堂| 国产精品VA在线观看无码不卡| 亚洲熟妇无码AV不卡在线播放| 熟妇人妻中文a∨无码| 18禁网站免费无遮挡无码中文| 人妻少妇AV无码一区二区| 亚洲成a人片在线观看天堂无码| 亚洲色中文字幕无码AV| 无码精品久久一区二区三区| 亚洲精品中文字幕无码A片老| 国产三级无码内射在线看| 内射无码午夜多人| 国模无码一区二区三区| 亚洲人成网亚洲欧洲无码| 久久男人Av资源网站无码软件| 国产无码一区二区在线| 国产综合无码一区二区色蜜蜜| 亚洲成无码人在线观看| 日韩人妻无码一区二区三区久久| 中文字幕无码精品亚洲资源网 | 在线无码视频观看草草视频| 67194成l人在线观看线路无码| 国产成人精品无码片区在线观看 | 无码人妻精品一区二区三区在线| 亚洲?V无码成人精品区日韩| 国产乱人伦无无码视频试看| 成人无码区免费视频观看| MM1313亚洲精品无码久久| 精品无码人妻一区二区三区18| 国产成人无码AV在线播放无广告 | 久久久久久无码国产精品中文字幕| 成人免费无码大片a毛片软件| 亚洲国产精品无码久久98| 精品少妇人妻AV无码专区不卡| 在线A级毛片无码免费真人| 精品久久久无码中文字幕天天| 一区二区三区人妻无码|