Restkit,停止记录?

Vee*_*eru 25 cocoa-touch ios restkit

我想知道.. Restkit一直显示可达性信息,在我使用它时请求信息.这会自动停止在生产版本中,还是我需要做些什么来阻止它们显示设置RKLog级别?

谢谢

Kyl*_*egg 39

要关闭所有内容,请将此添加到您的应用代理.

RKLogConfigureByName("*", RKLogLevelOff);
Run Code Online (Sandbox Code Playgroud)

注意:至少在RestKit v0.20.x中,您仍会在开发版本中看到"RestKit logging initialized ..."消息.


jpa*_*ten 13

要仅抑制Reachability消息,请使用以下命令:

RKLogConfigureByName("RestKit/Network/Reachability", RKLogLevelCritical);
Run Code Online (Sandbox Code Playgroud)

查找lcl_config_components.h完整列表:

 "restkit"                           "RestKit" 
 "restkit.network"                   "RestKit/Network" 
 "restkit.network.cache"             "RestKit/Network/Cache" 
 "restkit.network.queue"             "RestKit/Network/Queue" 
 "restkit.network.reachability"      "RestKit/Network/Reachability" 
 "restkit.object_mapping"            "RestKit/ObjectMapping" 
 "restkit.core_data"                 "RestKit/CoreData" 
 "restkit.core_data.cache"           "RestKit/CoreData/Cache" 
 "restkit.core_data.search_engine"   "RestKit/CoreData/SearchEngine" 
 "restkit.support"                   "RestKit/Support" 
 "restkit.support.parsers"           "RestKit/Support/Parsers" 
 "restkit.three20"                   "RestKit/Three20" 
 "restkit.ui"                        "RestKit/UI" 
 "restkit.testing"                   "RestKit/Testing" 
 "app"                               "App" 
Run Code Online (Sandbox Code Playgroud)


Pau*_*nne 12

RestKit应用程序中的日志消息由RKLog调用控制.例如:

    RKLogConfigureByName("RestKit", RKLogLevelWarning); 
    RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
    RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);
Run Code Online (Sandbox Code Playgroud)

RKLog由Aren Harren的lcl_log(参见http://0xc0.de/LibComponentLogging)库实现.我只是简单地查看了lcl的代码,但是我没有看到任何阻止它在生产版本中打印的代码,因此我确保我的RKLog代码不会出现在生产代码中.


Arn*_*ren 8

RestKit配置为在DEBUG构建中显示信息消息及其上方.在非DEBUG构建中,仅记录警告,错误和关键消息.这是通过RKLogLevelDefaultin 定义的RKLog.h.

如果要更改其中一个RestKit日志组件的日志级别,可以RKLogConfigureByName(component, level)使用component名称和RKLogLevel日志进行调用level.RKLogConfigureByName("*", RKLogLevelOff)可用于禁用所有组件的日志记录.确保RKLogInitialize()之前调用过,因为RKLogInitialize()在第一次调用时会覆盖RestKit组件的日志级别设置.

如果要从生产版本中删除所有日志记录代码,只需将预处理器定义添加_LCL_NO_LOGGING到构建设置即可.有关详细信息,请参阅 http://0xc0.de/LibComponentLogging.