【发布时间】:2012-06-08 07:19:54
【问题描述】:
我想知道.. Restkit 不断显示可达性信息,在我使用它时请求信息。这会在生产版本中自动停止,还是我需要做一些事情来阻止它们显示,比如设置 RKLog 级别?
谢谢
【问题讨论】:
标签: ios cocoa-touch restkit
我想知道.. Restkit 不断显示可达性信息,在我使用它时请求信息。这会在生产版本中自动停止,还是我需要做一些事情来阻止它们显示,比如设置 RKLog 级别?
谢谢
【问题讨论】:
标签: ios cocoa-touch restkit
要关闭所有功能,请将其添加到您的应用委托中。
RKLogConfigureByName("*", RKLogLevelOff);
注意:至少在 RestKit v0.20.x 中,您仍然会在开发版本中看到“RestKit logging initialized...”消息。
【讨论】:
要仅抑制可达性消息,请使用以下命令:
RKLogConfigureByName("RestKit/Network/Reachability", RKLogLevelCritical);
查看 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"
【讨论】:
RestKit 应用程序中的日志消息由 RKLog 调用控制。例如:
RKLogConfigureByName("RestKit", RKLogLevelWarning);
RKLogConfigureByName("RestKit/ObjectMapping", RKLogLevelTrace);
RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);
RKLog 是通过 Aren Harren 的 lcl_log(参见 http://0xc0.de/LibComponentLogging)库实现的。我只是简单地查看了 lcl 的代码,并没有看到任何会阻止它在生产版本中打印的代码,所以我会确保我的 RKLog 代码不会出现在生产代码中。
【讨论】:
RestKit 被配置为在 DEBUG 构建中显示信息消息及更高版本。在非调试版本中,仅记录警告、错误和关键消息。这是通过RKLogLevelDefault 中的RKLog.h 定义的。
如果您想更改 RestKit 的日志组件之一的日志级别,可以使用 component 名称和 RKLogLevel 日志 level 调用 RKLogConfigureByName(component, level)。 RKLogConfigureByName("*", RKLogLevelOff) 可用于禁用所有组件的日志记录。确保之前调用了 RKLogInitialize(),因为 RKLogInitialize() 在第一次调用时会覆盖 RestKit 组件的日志级别设置。
如果您想从生产构建中删除所有日志记录代码,您只需将预处理器定义 _LCL_NO_LOGGING 添加到构建设置中即可。详情请见http://0xc0.de/LibComponentLogging。
【讨论】:
Kyle 的解决方案是正确的。 Swift 版本有点不同:
RKlcl_configure_by_name("*", RKlcl_vOff.rawValue)
【讨论】: