動(dòng)態(tài)設(shè)置CocoaLumberjack的日志級(jí)別

使用場景

在某些時(shí)候,我們需要?jiǎng)討B(tài)控制日志的打印級(jí)別堰燎。比如在執(zhí)行某個(gè)操作的時(shí)候蜜暑,需要DDLogLevelVerbose級(jí)別褐啡,執(zhí)行完成后需要DDLogLevelInfo級(jí)別,這時(shí)候之前的日志級(jí)別設(shè)置就沒有能力來實(shí)現(xiàn).

之前的實(shí)現(xiàn)

#if DEBUG
    static const DDLogLevel ddLogLevel = DDLogLevelVerbose;
#else
    static const DDLogLevel ddLogLevel = DDLogLevelVerbose;
#endif

后面想到,是不是只要改變ddLogLevel的值就可以實(shí)現(xiàn)了呢?改成

#if DEBUG
    static DDLogLevel ddLogLevel = DDLogLevelVerbose;
#else
    static DDLogLevel ddLogLevel = DDLogLevelVerbose;
#endif

去掉了const修飾符,然后隨便在一個(gè)按鈕響應(yīng)函數(shù)里面設(shè)置成

ddLogLevel = DDLogLevelError;

測試了下啄栓,點(diǎn)擊了按鈕,發(fā)現(xiàn)沒有作用也祠,只能另外再找方法昙楚。

DDRegisteredDynamicLogging

后來在翻看DDLog.h文件時(shí)發(fā)現(xiàn)了DDRegisteredDynamicLogging這個(gè)協(xié)議,里面提供了2個(gè)靜態(tài)方法

+ (DDLogLevel)ddLogLevel;
+ (void)ddSetLogLevel:(DDLogLevel)level;

里面還有段說明文字:

Implement these methods to allow a file's log level
 to be managed from a central location.

This is useful if you'd like to be able to change log levels for
 various parts  of your code from within the running application.  

Imagine pulling up the settings for your application, 
and being able to configure the logging level on a per file basis.

看樣子貌似可以诈嘿,說干就干堪旧。新建一個(gè)類,實(shí)現(xiàn)DDRegisteredDynamicLogging協(xié)議奖亚。

DDDynamicLogLevel.h

#import "DDLog.h"

@interface DDDynamicLogLevel : NSObject <DDRegisteredDynamicLogging>

@end

DDDynamicLogLevel.m
<b>注意</b> 這里新建一個(gè)靜態(tài)變量淳梦,用于動(dòng)態(tài)控制日志級(jí)別

static DDLogLevel s_ddLogLevel = DDLogLevelVerbose;

@implementation DDDynamicLogLevel

+ (DDLogLevel)ddLogLevel {
    return s_ddLogLevel;
}

+ (void)ddSetLogLevel:(DDLogLevel)level {
    s_ddLogLevel = level;
}

@end

然后將之前定義的日志級(jí)別宏定義替換為

#ifdef LOG_LEVEL_DEF
#   undef LOG_LEVEL_DEF
#endif
#define LOG_LEVEL_DEF [DDDynamicLogLevel ddLogLevel]

注意引入頭文件DDDynamicLogLevel.h,再測試昔字,

[DDDynamicLogLevel ddSetLogLevel:DDLogLevelError];
DDLogInfo(@"111 -- Info");
DDLogError(@"11111111");
    
[DDDynamicLogLevel ddSetLogLevel:DDLogLevelInfo];
DDLogInfo(@"222 -- Info");
DDLogError(@"222222222");

發(fā)現(xiàn)起作用了爆袍,打完收工~~~

結(jié)尾

就到這里了,祝大家使用愉快作郭!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末陨囊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子夹攒,更是在濱河造成了極大的恐慌蜘醋,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咏尝,死亡現(xiàn)場離奇詭異堂湖,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)状土,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伺糠,“玉大人蒙谓,你說我怎么就攤上這事⊙低埃” “怎么了累驮?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵酣倾,是天一觀的道長。 經(jīng)常有香客問我谤专,道長躁锡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任置侍,我火速辦了婚禮映之,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蜡坊。我一直安慰自己杠输,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布秕衙。 她就那樣靜靜地躺著蠢甲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪据忘。 梳的紋絲不亂的頭發(fā)上鹦牛,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音勇吊,去河邊找鬼曼追。 笑死,一個(gè)胖子當(dāng)著我的面吹牛萧福,可吹牛的內(nèi)容都是我干的拉鹃。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼鲫忍,長吁一口氣:“原來是場噩夢啊……” “哼膏燕!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悟民,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤坝辫,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后射亏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體近忙,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年智润,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了及舍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡窟绷,死狀恐怖锯玛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤攘残,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布拙友,位于F島的核電站,受9級(jí)特大地震影響歼郭,放射性物質(zhì)發(fā)生泄漏遗契。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一病曾、第九天 我趴在偏房一處隱蔽的房頂上張望牍蜂。 院中可真熱鬧,春花似錦知态、人聲如沸捷兰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贡茅。三九已至,卻和暖如春其做,著一層夾襖步出監(jiān)牢的瞬間顶考,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來泰國打工妖泄, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留驹沿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓蹈胡,卻偏偏與公主長得像渊季,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子罚渐,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,351評(píng)論 25 707
  • 文章來自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鵬閱讀 9,196評(píng)論 2 126
  • 心情很焦躁却汉。不知道是因?yàn)閾?dān)心爺爺奶奶的病。還是心態(tài)不穩(wěn)荷并。爺爺奶奶的病讓我很怕合砂。到現(xiàn)在也不信他們會(huì)離開我。我不承認(rèn)源织。...
    鬼mi心竅閱讀 248評(píng)論 0 0