gpt4 book ai didi

ios - CocoaLumberjack Swift - 检查日志级别是否包含 .verbose

转载 作者:行者123 更新时间:2023-11-28 09:49:48 24 4
gpt4 key购买 nike

我多年来一直在 Swift 和 Obj-C 中使用 CocoaLumberjack 和 pod 'CocoaLumberjack/Swift'。

我正在将代码从 Obj-C 转换为 Swift,但不知道如何将其转换为 Swift:

- (void)functionThatGetsCalledAlot {
if (ddLogLevel & DDLogLevelVerbose) {
DDLogVerbose(@"Log message");
...Many more log statements...
}
}

我只在极少数对性能敏感的情况下使用它,我只想根据日志级别执行一些代码块。如果动态日志级别 ddLogLevel 包含 DDLogLevelVerbose,则条件将为真,这对于 DDLogLevelVerbose 和 DDLogLevelAll 为真。

我如何在 Swift 中编写它?

最佳答案

我只导入了 CocoaLumberjack 的一小部分,但这应该与上面的 Objective-C 代码一样工作。

if (ddLogLevel.rawValue & DDLogLevel.verbose.rawValue) != 0 {
...
}

(添加)

但就我检查原始定义而言,此代码(和您的 Objective-C 代码)对所有预定义的日志级别返回 true。

您可能需要编写类似这样的内容才能仅命中 DDLogLevelVerboseDDLogLevelAll

( objective-C )

if (ddLogLevel & DDLogFlagVerbose) {
...
}

( swift )

if (ddLogLevel.rawValue & DDLogFlag.verbose.rawValue) != 0 {
...
}

关于ios - CocoaLumberjack Swift - 检查日志级别是否包含 .verbose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51272580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com