iOS區(qū)分模塊本地日志工具FGLogger

FGLogger

在App開發(fā)中窍霞,本地日志對于測試分成重要沦补,所以一個分模塊的本地日志系統(tǒng)非常重要罩缴。

FGLogger 在根據(jù)模塊枚舉來區(qū)分模塊踢俄,將不同模塊的日志寫入不同文件中缩功,且一次啟動活動的日志將被放入以啟動時間命名的文件夾中,方便查找都办。應(yīng)用結(jié)果如下:
WechatIMG2.jpeg
WechatIMG3.jpeg

結(jié)構(gòu)

├── FGLog.h  //宏定義入口嫡锌,使用FGLog(module,level,format,...)代替NSLog
├── FGLog.m
├── Application  //查看日志文件夾
│   ├── FGFileContext.h
│   ├── FGFileContext.m
│   ├── FGPrintFolderViewController.h
│   ├── FGPrintFolderViewController.m
│   ├── FGPrintLogViewController.h
│   └── FGPrintLogViewController.m
└── Logger     //日志寫入模塊
    ├── FGLoggerComponent.h  // 本地日志目錄配置
    ├── FGLoggerComponent.m
    ├── FGLogger.h  //  本地日志寫入基類,維護(hù)異步寫入琳钉,日志文件循環(huán)覆蓋势木,文件夾管理等
    ├── FGLogger.m
    ├── FGSingleRunLogger.h   //一次啟動活動創(chuàng)建一個特定文件夾
    ├── FGSingleRunLogger.m
    ├── FGTTYLogger.h   //在一個文件夾中分模塊寫入日志
    └── FGTTYLogger.m

FGLog

//定義的模塊名,僅僅用來生成日志文件名歌懒,可隨意定制
typedef NS_ENUM(NSInteger, FGLogModuleSign) {
    FGLog_UnclearModule,
    FGLog_Home,
    
};
// 日志輸出等級
typedef NS_ENUM(NSInteger, FGLogLevel) {
    
    FGLogLevel_UnKnow = 0,
    FGLogLevel_Warning,
    FGLogLevel_MustShow,
    FGLogLevel_WriteToFile = FGLogLevel_MustShow, //寫入文件中
};

//日志輸出宏定義
#define FGLog(module,level,format,...) {[FGLogPrinter FGLogLevel:level Module:module ModuleStr:#module Function:__FUNCTION__ Thread:[NSThread currentThread] Line:__LINE__ Format:format Info:[NSString stringWithFormat:format,##__VA_ARGS__]];}

@interface FGLogPrinter : NSObject

+ (void)FGLogLevel:(NSInteger)level
            Module:(NSInteger)module
         ModuleStr:(const char* const)moduleStr
          Function:(const char* const)function
            Thread:(NSThread*)currentThread
              Line:(int)line
            Format:(NSString*)format
              Info:(NSString*)info;

@end

可根據(jù)需要重新定義自己的宏定義和日志輸出級別啦桌。

應(yīng)用方式

#import "ViewController.h"
#import "FGLog.h"
#import "FGPrintLogViewController.h"

//自定義模塊,哪怕FGLog_TestModule與FGLog_Home值都為0也毫不影響。
typedef NS_ENUM(NSInteger, NewModuleSign) {
    FGLog_TestModule,
    FGLog_TestModule2,
};

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
//     Do any additional setup after loading the view.
    self.title = @"主頁";
    //調(diào)用輸出日志
    FGLog(FGLog_Home, FGLogLevel_MustShow, @"已進(jìn)入主頁");
    FGLog(FGLog_TestModule, FGLogLevel_MustShow, @"新Module");
    FGLog(FGLog_TestModule2, FGLogLevel_MustShow, @"新Module2");
    
    {
        UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(50, 100, 200, 44)];
        [btn setTitle:@"查看日志" forState:UIControlStateNormal];
        btn.backgroundColor = [UIColor blueColor];
        [btn addTarget:self action:@selector(pushToNextVC) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
    }

}

- (void)pushToNextVC{
    FGPrintLogViewController *vc = [[FGPrintLogViewController alloc]init];
    vc.view.backgroundColor = [UIColor whiteColor];
    [self.navigationController pushViewController:vc animated:YES];
}

@end

使用上述代碼甫男,即可生成對應(yīng)模塊日志且改。

注:自定義模塊,哪怕FGLog_TestModule與FGLog_Home值都為0也毫不影響板驳。

Demo及Pod導(dǎo)入

Demo地址:https://github.com/FlameGrace/FGLogger

pod 'FGLogger'
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末又跛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子若治,更是在濱河造成了極大的恐慌慨蓝,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件端幼,死亡現(xiàn)場離奇詭異礼烈,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)婆跑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門此熬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人洽蛀,你說我怎么就攤上這事摹迷。” “怎么了郊供?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵峡碉,是天一觀的道長。 經(jīng)常有香客問我驮审,道長鲫寄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任疯淫,我火速辦了婚禮地来,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘熙掺。我一直安慰自己未斑,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布币绩。 她就那樣靜靜地躺著蜡秽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缆镣。 梳的紋絲不亂的頭發(fā)上芽突,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機(jī)與錄音董瞻,去河邊找鬼寞蚌。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挟秤。 我是一名探鬼主播壹哺,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼煞聪!你這毒婦竟也來了斗躏?” 一聲冷哼從身側(cè)響起逝慧,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤昔脯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后笛臣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體云稚,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年沈堡,在試婚紗的時候發(fā)現(xiàn)自己被綠了静陈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡诞丽,死狀恐怖鲸拥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情僧免,我是刑警寧澤刑赶,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站懂衩,受9級特大地震影響撞叨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜浊洞,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一牵敷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧法希,春花似錦枷餐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至著觉,卻和暖如春村生,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饼丘。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工趁桃, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓卫病,卻偏偏與公主長得像油啤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蟀苛,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,037評論 2 355