iOS Logger不会打印到Xcode控制台

qgzx9mmu  于 2023-04-22  发布在  iOS
关注(0)|答案(1)|浏览(111)

我正在尝试将CocoaLumberjack换成iOS原生Logger。唯一的问题是Logger消息没有记录到Xcode控制台。在WWDC20视频 * 探索Swift中的日志 * 中,Ravi在09:02**“如果您的应用从Xcode启动,您将在Xcode的控制台中看到它们。”**但是,我没有看到消息。其他人尝试过吗?
使用Xcode 13.4
这里是代码。

import os

extension Logger {

    private static var subsystem = Bundle.main.bundleIdentifier ?? ""

    public static func logDebug(message: String, category: String) {
        logger(category: category)
            .debug("\(message, privacy: .public)")
    }

    public static func logInfo(message: String, category: String) {
        logger(category: category)
            .info("\(message, privacy: .public)")
    }

    public static func logNotice(message: String, category: String) {
        logger(category: category)
            .notice("\(message, privacy: .public)")
    }

    public static func logError(message: String, category: String) {
        logger(category: category)
            .error("\(message, privacy: .public)")
    }

    private static func logger(category: String) -> Logger {
        Logger(subsystem: subsystem, category: category)
    }
}

这里是呼叫现场。。

Logger.logNotice(message: "Firebase dispatch event -> \(name) || Parameters -> \(parameters.debugDescription)",
                 category: String(describing: FirebaseSDKDispatch.self))
jxct1oxe

jxct1oxe1#

如果我从头开始创建一个新的应用程序,它确实有效。我将需要进一步调查我的商业应用程序。

import os
import UIKit

class ViewController: UIViewController {

    let log = Logger(subsystem: Bundle.main.bundleIdentifier!, category: "app")
    override func viewDidLoad() {
        super.viewDidLoad()
        log.debug("You better print in the Xcode console!")
    }
}

相关问题