标签: unified-log

统一日志记录:应用程序的信息/调试消息永远不会显示在Logarchive文件中

将应用程序部署到我的iOS设备,通过sysdiagnose触发日志收集,然后浏览system_logs.logarchive从iTunes同步获取的日志消息时,我的应用程序从未显示过Info/Debug日志消息类型.

请注意,这个问题不同于现有但类似的问题

我正在使用Apple的 Paper Company(Swift)示例代码来说明我的问题.我开始将应用程序部署到运行iOS 11.0.3的iOS设备上.该方案使用调试模式.就我而言:

  • 我总是在控制台中有"包含信息消息"和"包含调试消息".
  • 当我的应用程序运行连接到Xcode时,我实时流式传输我的日志消息,我继续在控制台上看到所有日志消息,包括信息和调试类型.
  • 但是,当我通过sysdiagnose触发日志收集并通过logarchiveConsole 读取文件时,我从未看到我的应用程序的Info和Debug消息.其他消息类型,默认,错误和故障,继续显示,就像我在直播时一样.
    • 但是,我仍然可以看到属于其他系统进程的Info和Debug消息,但不是我应用程序的进程.

现场直播. 显示了信息/调试 现场直播. 活动追踪工作 Logarchive. 我的应用没有信息/调试 Logarchive. 没有活动追踪 Logarchive. 其他进程显示的信息/调试

由于这种令人费解的行为,我开始认为它可能与系统的配置有关.在记录文档中:

信息级消息最初存储在内存缓冲区中.如果没有配置更改,它们不会移动到数据存储,并在内存缓冲区填充时被清除.但是,当出现故障和可选的错误时,它们会在数据存储中捕获.将信息级别的消息添加到数据存储时,它们将保留在那里,直到超过存储配额,此时将清除最早的消息.使用此级别来捕获可能有用的信息,但对于排除错误不是必需的信息.

在阅读之后,我还尝试将Error类型更改为Fault类型,只是为了验证Info类型消息是否会显示.

os_log("B-b-b-b-b-b-b-bomb !", log: ViewController.ui_log, type: .fault)  // previously .error
Run Code Online (Sandbox Code Playgroud)

但是,我仍然没有在logarchive文件中看到任何信息日志消息.

我的问题:

  • 我是否遗漏了一些我需要设置的内容,以使sysdiagnose的日志记录行为与我在实时流式传输时看到的控制台输出匹配?请注意,Paper Company(Swift)已经使用了ASSETCATALOG_COMPRESSIONBuild Settings,因为已经指出了os_log按预期工作的重要性.请参阅使用新的swift os_log api读取日志
  • 这是配置文件的问题吗?为了查看Info/Debug消息logarchive,我是否真的需要添加一个自定义配置文件,如Apple的Logging doc和mobleconfig示例中所示?然而,看起来很可疑,即使使用Fault类型,Info消息仍然不会被记录,并且我仍然可以看到来自其他进程的Info/Debug消息.

console xcode logging ios unified-log

14
推荐指数
1
解决办法
653
查看次数

如何在 docker 容器内的 Oracle 数据库上使用 sqlplus?

我在我的 docker 环境中安装了 oracle db 版本 12c。我使用了以下命令:

docker run -d --name oracle -p 8080:8080 -p 1521:1521 quay.io/maksymbilenko/oracle-12c
Run Code Online (Sandbox Code Playgroud)

我连接到数据库,一切顺利,但我想启用统一审计。为此,首先您必须关闭数据库,并且在我发现的所有说明中都说使用 sqlplus 如下:

sqlplus / as sysoper
SQL> shutdown immediate
SQL> exit
Run Code Online (Sandbox Code Playgroud)

我使用下一个命令成功连接到数据库:

docker exec -it oracle "bash"
Run Code Online (Sandbox Code Playgroud)

然后我运行了 sqlplus 命令,我收到了“找不到命令”

[root@f30cc670f85f /]#   sqlplus / as sysoper
bash: sqlplus: command not found
Run Code Online (Sandbox Code Playgroud)

我做错了吗?我应该怎么做才能在我的 oracle 数据库上安装 sqlplus?我寻找它并没有找到任何对我有帮助的东西。

如果相关,我有 mac

database oracle sqlplus docker unified-log

7
推荐指数
2
解决办法
6866
查看次数

标签 统计

unified-log ×2

console ×1

database ×1

docker ×1

ios ×1

logging ×1

oracle ×1

sqlplus ×1

xcode ×1