我在 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.conf
和syslog.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