提供以编程方式启用/禁用日志记录的功能

时间:2014-02-04 12:49:05

标签: objective-c

我正在构建一个.Framework,我想向使用我的框架的开发人员提供隐藏或显示框架内的NSLog的能力。

我已经使用过这个解决方案了

Prefix.pch

#ifdef PY_LOGS
#    define PYLog(...) NSLog(__VA_ARGS__)
#else
#    define PYLog(...)
#endif

然后在我的框架中使用PYLog(),以便开发人员可以在预处理器宏中设置PY_LOGS标志。

它运作完美,但我想要一个允许开发人员调用类似

的解决方案
[[MyFramework sharedInstance] setDebug:YES];

有谁知道怎么做?

2 个答案:

答案 0 :(得分:1)

使用像LibComponentLogging这样的常见解决方案。

答案 1 :(得分:0)

什么错了?

#ifdef PY_LOGS
#    define PYLog(...) if([[MyFramework sharedInstance] isLoggingEnabled]){ NSLog(__VA_ARGS__); }
#else
#    define PYLog(...)
#endif

Objective-C消息传递效率是您最不担心的。