首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xcodebuild没有在调试级别显示来自OSLog的输出。

xcodebuild没有在调试级别显示来自OSLog的输出。
EN

Stack Overflow用户
提问于 2021-08-28 16:56:13
回答 1查看 217关注 0票数 2

我正在使用xcodebuild测试我在CI中的应用程序。我是这样引用的:

代码语言:javascript
复制
xcodebuild test -project myapp.xcodeproj -scheme myappTests -destination 'platform=iOS Simulator,name=iPhone 8,OS=14.4'

使用LoggerOSLog记录的文本不会显示在调试级别上。因此,如果在我的测试中有这样的内容,xcodebuild的输出中就没有显示它,但是我希望看到:

代码语言:javascript
复制
Logger(subsystem: "a", category: "b").debug("something")

是否可以将xcodebuild的日志记录级别设置为调试?显示了具有错误级别的消息。

我尝试设置xcodebuildDebugLogLevel=3,但这给了我相同的日志信息。

EN

回答 1

Stack Overflow用户

发布于 2022-01-28 13:31:18

记录器不向输出输出debug (和trace)消息,因为模拟器上子系统的日志级别是INFO

您可以用下面的步骤来检查这一点:

  1. 找到用于测试的模拟器UDID:

代码语言:javascript
复制
$ xcrun simctl list
...
-- iOS 15.2 --
    iPhone 8 (C1D16369-D358-438E-8395-D01C2DE55980) (Shutdown) 
...

  1. 启动它(如果需要的话)

代码语言:javascript
复制
$ xcrun simctl boot C1D16369-D358-438E-8395-D01C2DE55980

  1. 检查子系统名称的日志级别:

代码语言:javascript
复制
$ xcrun simctl spawn C1D16369-D358-438E-8395-D01C2DE55980 log config --subsystem <your-subsystem-name> --status
Mode for '<your-subsystem-name>'  INFO PERSIST_DEFAULT

要将当前日志级别更改为DEBUG,可以使用next命令:

代码语言:javascript
复制
$xcrun simctl spawn C1D16369-D358-438E-8395-D01C2DE55980 log config --subsystem <your-subsystem-name> --mode level:debug

再检查一遍:

代码语言:javascript
复制
xcrun simctl spawn C1D16369-D358-438E-8395-D01C2DE55980 log config --subsystem <your-subsystem-name> --status 
Mode for '<your-subsystem-name>'  DEBUG PERSIST_DEFAULT

现在,使用xcodebuild的测试必须在输出中包含所有调试(和跟踪)消息。

注意: Console.app不提供调试/跟踪消息,即使在上面的更改之后也是如此,而且模拟器也是众所周知的老问题.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68966472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档