os_log调试消息未显示到控制台

时间:2019-02-15 18:18:14

标签: swift xcode macos logging oslog

我通过在/Library/Preferences/Logging/Subsystems/com.example.jsloop.parser.plist下设置以下plist来启用调试日志记录

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>DEFAULT-OPTIONS</key>
    <dict>
        <key>Level</key>
        <dict>
            <key>Enable</key>
            <string>Info</string>
            <key>Persist</key>
            <string>Inherit</string>
        </dict>
    </dict>
    <key>unittest</key>
    <dict>
        <key>Level</key>
        <dict>
            <key>Enable</key>
            <string>Debug</string>
            <key>Persist</key>
            <string>Inherit</string>
        </dict>
    </dict>
</dict>

获得状态

sudo log config --status --subsystem "com.example.jsloop.parser" 

我明白了

Mode for 'com.example.jsloop.parser'  DEBUG PERSIST_DEFAULT

我使用以下代码进行记录

let jsLog = OSLog(subsystem: "com.example.jsloop.parser", category: "unittest")
os_log("%{public}@", log: jsLog, type: .debug, "unit test 1")

我不确定为什么在Console.app中没有显示调试日志。当我将类型指定为.default时,它将显示在Console.app下。是否可以显示其他类型的日志,例如.debug.info日志?我的构建目标是macOS,并且正在运行Mojave。

0 个答案:

没有答案