学习lumberjack framework(中文版)
編輯器加載中... 這是網上的英文資料的翻譯版本,加上本人對這個框架的理解。說實話本人英語不是太好,如果你的英語足夠好,你可以看英文原版。
地址是https://github.com/robbiehanson/CocoaLumberjack/wiki/GettingStarted
?想要學習這個框架只需要三個步驟
? 1 把框架添加到你的應用程序
? 2 配置框架? 3 用Lumberjack輸入代替你的NSLog輸出
?
下面詳細介紹每個步驟
1?把框架添加到你的應用程序
?主要添加的文件有以下四個
?@ DDLog(基礎框架)
?@ DDASLLogger(發送到蘋果的日志系統,他們顯示到控制臺上),個人建議沒有必要
?@DDTTYLoyger (發送日志語句到控制臺)
?@DDFIleLoger (把輸出信息寫進文件中)
DDLog是強制性的,其余的都是可選的,這取決于你如何打算使用這個框架,如果你不打算紀錄到一個文件,你可以跳過DDFileLogger,或者你想跳過ASl 在你的愛好快速紀錄日志,你可以跳過DDASLLoger
?2 配置框架
第一件事情你要做的是在你applicationDidFinishLaunching方法中配置(通常是這么做)添加你所需要的文件
下面幾行代碼是在開始的時候所需要的
[DDLog addLogger:[DDASLLogger sharedInstance]];
? ? ? [DDLog addLogger:[DDTTYLogger sharedInstance]];
上面兩行代碼添加了一對logging框架,換句話說,你的日志語句已經能夠發送到控制臺,(就像一個正常的NSLog)
這個框架的好處之一就是它的靈活性,如果你還想要你的日志語句寫入到一個文件中,你可以添加和配置fileLogger
fileLogger = [[DDFileLogger alloc] init];
fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling
fileLogger.logFileManager.maximumNumberOfLogFiles = 7; [DDLog addLogger:fileLogger];上面的代碼是告訴應用程序保持一周的日志文件系統
3 用Lumberjack輸入代替你的NSLog輸出
DDLog的頭文件定義了宏,您將使用來取代你的NSLog語句。你可以參考下面的語句來代替你的NSlog
// Convert from this: NSLog(@"Broken sprocket detected!"); NSLog(@"User selected file:%@ withSize:%u", filePath, fileSize);// To this: DDLogError(@"Broken sprocket detected!"); DDLogVerbose(@"User selected file:%@ withSize:%u", filePath, fileSize);
我們看到DDLog和NSLog有這完全相同的語法,在使用的時候不會有人和的障礙。
DDLog默認有四種級別的日志,你所要做的就是決定使用那種日志級別來打印你的日志語句,它們分別是:
@DDlogError
@DDlogWarn
@DDlogInfo
@DDlogVerbose
注釋:你也可以自定義級別,你可以添加上更細微的控制代替系統四個簡單的等級。
當然你選擇那個NSLog語句,這取決于你的消息的嚴重程度。
下面的這些不同的日志等級也許正有你所需要的
如果你設置的日志級別為?LOG_LEVEL_ERROR那么你只會看到DDlogError語句的輸出。
如果你將日志的級別設置為LOG_LEVEL_WARN那么你只會看到DDLogError和DDLogWarn語句。
如果您將日志級別設置為?LOG_LEVEL_INFO,您將看到error、Warn和信息報表。
如果您將日志級別設置為LOG_LEVEL_VERBOSE,您將看到所有DDLog語句。
如果您將日志級別設置為?LOG_LEVEL_OFF,你不會看到任何DDLog語句。
那么我在哪里設置日志級別?我必須使用一個日志級別為我的整個項目嗎?
當然不是,我們都知道它就像調試或者添加新的特性,你想詳細紀錄你目前正在調試的部分,這個框架提供了對每個文件的調試,所以你可以修改日志級別在你正在編輯的文件中。
注釋:(當然還有許多其他高級選項,比如全球日志級別,每xcode配置水平,每記錄器級別等。但是我們會去,在另一篇文章)。
下面是詳細的如何在你的代碼中運用這個框架
// CONVERT FROM THIS#import "Sprocket.h"@implementation Sprocket- (void)someMethod {NSLog(@"Meet George Jetson"); }@end// TO THIS#import "Sprocket.h" #import "DDLog.h"static const int ddLogLevel = LOG_LEVEL_VERBOSE;@implementation Sprocket- (void)someMethod {DDLogVerbose(@"Meet George Jetson"); }@end
?
注意日志級別聲明為常數,這意味著DDLog以上聲明的日志級別將被認為默認值,編譯到你的項目中。(當你的編譯器優化打開的時候,那就是你的發布版本)好,基本的DDlog框架就是這些,希望對你有所幫助,下一篇翻譯更深的知識。
轉載于:https://www.cnblogs.com/xiaoweige/archive/2012/10/08/lumberjack.html
總結
以上是生活随笔為你收集整理的学习lumberjack framework(中文版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两位概率论顶级专家获得2020阿贝尔奖
- 下一篇: 【英语做题】英语“八股文“学习