Answers:
该/dev/console设备与Console应用程序无关。
在Mac OS X 10.6中,控制台应用程序有两种数据源:正常日志文件(例如文件/var/log/)和通过(Apple扩展)syslog工具记录的消息。
如果您有要监视的日志文件,则可以使用“ 文件” >“ 打开...”菜单项(⌘O)在“ 控制台”中查看该文件。
注意:从Console的文件列表中删除文件的唯一方法似乎是使用其File > Move to Trash菜单项(⌘⌫); 如果您只是想在Console中停止观看,请准备好将文件从垃圾箱中取出。
您可以使用syslog命令行程序将消息发送到syslog工具。
syslog -s Your message goes here. \(quote special chars for the shell'!)'
但是,在默认配置下,此消息将永远不会显示在任何控制台视图中,因为它的“级别”太低而不重要。这个初始过滤是由syslogd引起的。它由asl.conf和syslog.conf文件配置。如果其级别太低(syslog -s默认为最低级别),则默认配置不会存储大多数消息。控制台只能显示syslogd存储的消息。
您可以使用以下-l选项更改“级别”字段的值:
syslog -s -l notice This message should show up in \"All Messages\" \
with a Facility of syslog.
该notice水平是其(默认值)最低级的syslogd将存储的大多数消息。
这样生成的消息将显示在Console的内置“All Messsages”数据库搜索中
(该文件All Messages.aslquery在/Applications/Utilities/Console.app/Contents/Resources/ASLQueries/技术上将其限制为消息,其中Facility字段“包含”空字符串,但任何Facility都可以轻松满足此条件值)。
如果您希望消息显示在Console的内置“控制台消息”数据库搜索中,那么您必须更具体一些。这只能说明(存储)具有该等于设施领域的消息com.apple.console(请参阅文件Console Messages.aslquery中/Applications/Utilities/Console.app/Contents/Resources/ASLQueries/)。您可以通过选项设置“设施”字段,使用syslog生成此类消息-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字段的值。