在 Mac OS X 上,如何从终端登录到 Console.app?

在 Mac OS X 上,如何从终端登录到 Console.app?

我在 Mac OSX 的几个脚本中看到过它的使用,/dev/console但我不确定它是如何被使用的。我检查了 Console.app,没有看到我的测试命令的结果:

回显测试> /dev/console

被打印出来后,它会被送到哪里,或者你会如何使用它?

答案1

/dev/console设备与安慰应用。

在 Mac OS X 10.6 中,安慰应用程序有两种读取的数据源:普通日志文件(例如 中的文件/var/log/)和通过(Apple 扩展的)syslog 工具记录的消息。

如果您有想要监视的日志文件,可以使用文件>打开…菜单项(⌘O)以查看文件安慰
注意:从安慰的文件列表似乎是利用其文件>移到废纸篓菜单项(⌘⌫);如果您只想停止观看,请准备将文件从垃圾箱中拉出安慰

您可以使用系统日志命令行程序将消息发送到 syslog 设备。

syslog -s Your message goes here. \(quote special chars for the shell'!)'

然而,在默认配置下,此消息永远不会出现在任何安慰因为它的“级别”太低,不重要。最初的过滤是由于系统日志. 它由asl.confsyslog.conf文件。如果消息级别太低,则默认配置不会存储大多数消息(syslog -s默认为最低级别)。安慰只能显示已存储的消息系统日志

您可以使用以下选项更改 Level 字段的值-l

syslog -s -l notice This message should show up in \"All Messages\" \
  with a Facility of syslog.

级别notice是(默认)最低级别,系统日志将存储大多数消息。

生成的消息将显示在安慰内置的“所有消息”数据库搜索
(文件All Messages.aslquery/Applications/Utilities/Console.app/Contents/Resources/ASLQueries/技术上将其限制为设施字段“包含”空字符串的消息,但任何设施值都可以满足此条件)。

如果你希望你的信息出现在安慰内置的“控制台消息”数据库搜索,那么你必须更具体一点。它只显示 Facility 字段等于的消息(请参阅中的com.apple.console文件)。你可以使用Console Messages.aslquery/Applications/Utilities/Console.app/Contents/Resources/ASLQueries/系统日志通过-k选项设置设施字段。

syslog -s -k Facility com.apple.console \
          -k Level notice \
          -k Message 'This will show up in "Console Messages"'

使用时-k,所有选项和消息本身都必须用参数集指定-k key value(我们不能使用-l来设置级别)。这意味着我们必须将消息设置为单个参数,以便它可以是 Message 字段的值。

答案2

我用:

logger Hello World

对我来说总是有效的。将“hello world”转储到系统日志,它应该显示在console.app中

答案3

我不确定,但它可能是在登录窗口的用户名字段中输入 >console 时调用的设备。当您输入上述内容时,它会转储 CLI。

答案4

您可以写入您选择的文件,然后可以在控制台应用程序中查看它。

如果您希望记录用户级别的使用:

echo "test" > /Users/$USER/Library/Logs/your_script.log

或者为所有用户加载的内容:

echo "test" > /Library/Logs/your_script.log

相关内容