ios端實現(xiàn)sentry日志捕獲

一.官網(wǎng):https://sentry.io/ 注冊個賬號即可
文檔:https://docs.sentry.io/clients/cocoa/

1.效果


image.png

2.sentry主要作用:用于捕獲奔潰和自定義異常昏滴,便于編譯程序員及早發(fā)現(xiàn)和解決程序bug

二.實現(xiàn)
1.https://sentry.io/ 創(chuàng)建對應類型的應用程序骇吭,獲取DSN

image.png

之后獲取Public DSN
image.png

2.工程Podifile引入sentry庫

platform :ios, '8.0'

target '317hu' do
    pod 'Sentry', :git => 'https://github.com/getsentry/sentry-cocoa.git', :tag => '4.1.0'
end

3.初始化相關代碼

#import <Sentry/Sentry.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //啟動sentry異常捕獲
    [self startSentry];
...
    return YES;
}

//啟動sentry日志捕獲
- (void)startSentry{
    //1.設置dsn
    NSError *error = nil;
    SentryClient *client = [[SentryClient alloc] initWithDsn:@"https://ab2e9cbc81934286a097d7bd6d101ef3@sentry.io/1313479" didFailWithError:&error];
    SentryClient.sharedClient = client;
    [SentryClient.sharedClient startCrashHandlerWithError:&error];
    if (nil != error) {
        NSLog(@"%@", error);
    }
    
    //2.開啟面包屑高級功能
//    SentryClient.sharedClient.maxBreadcrumbs = 100;
    [SentryClient.sharedClient enableAutomaticBreadcrumbTracking];
}

3.捕獲自定義錯誤,在網(wǎng)絡回包處處理

+ (void)sendSentryEventWithReqParams:(NSDictionary*)reqParams andResParams:(NSDictionary *)resParams url:(NSString *)url reuestMode:(NSString*)mode{
    BOOL successFlag = [resParams[@"success"] boolValue];
    NSString *errMsg = resParams[@"errMsg"];
    //有錯誤內容時才捕獲
    if (!successFlag && errMsg.length > 0) {
        NSMutableDictionary *dic = reqParams.mutableCopy;
        [dic setObject:mode forKey:@"requestMode"];
        [dic setObject:url forKey:@"requestUrl"];
        
        SentryEvent *event = [[SentryEvent alloc] initWithLevel:kSentrySeverityDebug];
        event.message = errMsg;
        event.environment = kEnv;//dev sit uat pro 四個環(huán)境
        event.extra = dic; //請求參數(shù)
        [SentryClient.sharedClient sendEvent:event withCompletionHandler:^(NSError * _Nullable error) {
            if (nil != error) {
                NSLog(@"%@", error);
            }
        }];
    }
}

+ (void)testSentry{

        [manager POST:url parameters:param progress:^(NSProgress * _Nonnull uploadProgress) {
            
        } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
            [QQRequest sendSentryEventWithReqParams:param andResParams:responseObject url:url reuestMode:@"post"];

        } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
           
        }];
}

對應效果
3.1面包屑功能术陶,最近的瀏覽記錄

image.png

3.2接口入?yún)⑾嚓P
image.png

4.默認sentry會捕獲奔潰痪寻,需要上傳dSYMs符號文件才可以解析奔潰日志螺句。不然就像下面日志一樣,看不懂
image.png

二.sentry官網(wǎng)實現(xiàn)上傳符號文件dSYMs (用fastlane實現(xiàn)) Uploading Debug Symbols
1.第一步 安裝fastlane
第二步 安裝sentry-cli 參考https://github.com/getsentry/sentry-cli
brew install getsentry/tools/sentry-cli

curl -sL https://sentry.io/get-cli/ | bash
2.項目首次使用的話橡类,需要
首次用fastlane 要執(zhí)行 cd 到項目根目錄蛇尚,在執(zhí)行如下命令,
fastlane add_plugin sentry 【成功后就會有如下文件】
image.png

3.編寫如下腳本顾画,將日志 默認上傳到官網(wǎng)

  desc "上傳到sentry"
  lane :upload_symbols do
  #download_dsyms
  gym(
      scheme: "317hu",
      workspace: "317hu.xcworkspace",
      include_bitcode: false
      )
  sentry_upload_dsym(
    #api_host: 'https://sentry.317hu.com/fe-master/',
    auth_token: '4ec35b3d884c4f6d94b51ab29adb07603862c036eada4ad09817009ae4b148d5',
    org_slug: 'bozhong-xu',
    project_slug: '317hu_ios',
  )

  end

sentry_upload_dsym對應參數(shù)位置如下


image.png

image.png

4.終端執(zhí)行

wangyuMBP:~ mac$ cd /Users/mac/Desktop/3.8.9官網(wǎng) 
wangyuMBP:3.8.9官網(wǎng) mac$ fastlane upload_symbols

成功后如下
image.png

image.png

之后就可以查看奔潰內容了


image.png

三.其他修改


image.png

如果您發(fā)現(xiàn)本文對你有所幫助取劫,如果您認為其他人也可能受益,請把它分享出去研侣。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末谱邪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子庶诡,更是在濱河造成了極大的恐慌惦银,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,331評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異扯俱,居然都是意外死亡书蚪,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,372評論 3 398
  • 文/潘曉璐 我一進店門迅栅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來殊校,“玉大人,你說我怎么就攤上這事读存∥鳎” “怎么了?”我有些...
    開封第一講書人閱讀 167,755評論 0 360
  • 文/不壞的土叔 我叫張陵让簿,是天一觀的道長敬察。 經(jīng)常有香客問我,道長拜英,這世上最難降的妖魔是什么静汤? 我笑而不...
    開封第一講書人閱讀 59,528評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮居凶,結果婚禮上虫给,老公的妹妹穿的比我還像新娘。我一直安慰自己侠碧,他們只是感情好抹估,可當我...
    茶點故事閱讀 68,526評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著弄兜,像睡著了一般药蜻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上替饿,一...
    開封第一講書人閱讀 52,166評論 1 308
  • 那天语泽,我揣著相機與錄音,去河邊找鬼视卢。 笑死踱卵,一個胖子當著我的面吹牛,可吹牛的內容都是我干的据过。 我是一名探鬼主播惋砂,決...
    沈念sama閱讀 40,768評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绳锅!你這毒婦竟也來了西饵?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,664評論 0 276
  • 序言:老撾萬榮一對情侶失蹤鳞芙,失蹤者是張志新(化名)和其女友劉穎眷柔,沒想到半個月后期虾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,205評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡驯嘱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,290評論 3 340
  • 正文 我和宋清朗相戀三年彻消,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宙拉。...
    茶點故事閱讀 40,435評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖丙笋,靈堂內的尸體忽然破棺而出谢澈,到底是詐尸還是另有隱情,我是刑警寧澤御板,帶...
    沈念sama閱讀 36,126評論 5 349
  • 正文 年R本政府宣布锥忿,位于F島的核電站,受9級特大地震影響怠肋,放射性物質發(fā)生泄漏敬鬓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,804評論 3 333
  • 文/蒙蒙 一笙各、第九天 我趴在偏房一處隱蔽的房頂上張望钉答。 院中可真熱鬧,春花似錦杈抢、人聲如沸数尿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,276評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽右蹦。三九已至,卻和暖如春歼捐,著一層夾襖步出監(jiān)牢的瞬間何陆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工豹储, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贷盲,地道東北人。 一個月前我還...
    沈念sama閱讀 48,818評論 3 376
  • 正文 我出身青樓颂翼,卻偏偏與公主長得像晃洒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子朦乏,可洞房花燭夜當晚...
    茶點故事閱讀 45,442評論 2 359

推薦閱讀更多精彩內容