O dispositivo /dev/console
não é especialmente relacionado ao aplicativo Console .
No Mac OS X 10.6, o aplicativo Console tem dois tipos de fontes de dados que ele lê: arquivos de log normais (por exemplo, os arquivos em /var/log/
) e mensagens registradas através do ) facilidade de syslog.
Se você tiver um arquivo de registro que deseja monitorar, poderá usar o arquivo > Abrir… item de menu (⌘O) para exibir o arquivo no Console .
Nota: A única maneira de remover um arquivo da lista de arquivos do Console parece ser o uso do arquivo Arquivo > item de menu Mover para o Lixo (⌘⌫); Esteja preparado para retirar o arquivo da Lixeira se você quiser apenas pará-lo no Console .
Você pode usar o syslog programa de linha de comando para enviar mensagens para o recurso de syslog.
syslog -s Your message goes here. \(quote special chars for the shell'!)'
No entanto, na configuração padrão, essa mensagem nunca será exibida em nenhuma das exibições do Console porque o "nível" é muito baixo para ser importante. Esta filtragem inicial é devida por syslogd Ele é configurado pelo asl.conf
e arquivos syslog.conf
. A configuração padrão não armazena a maioria das mensagens se o nível for muito baixo (e syslog -s
é o padrão para o nível mais baixo). O Console só pode mostrar mensagens armazenadas por syslogd .
Você pode alterar o valor do campo Nível usando a opção -l
:
syslog -s -l notice This message should show up in \"All Messages\" \
with a Facility of syslog.
O nível notice
é o nível mais baixo (padrão) para o qual syslogd armazena a maioria das mensagens.
Uma mensagem gerada como essa será exibida na pesquisa de banco de dados integrada "All Messsages" do Console
(o arquivo All Messages.aslquery
in /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
tecnicamente limita a mensagem onde o campo Facility "contém" a string vazia, mas essa condição é trivialmente satisfeita por qualquer valor de Facility).
Se você quiser que sua mensagem apareça na pesquisa de banco de dados interna "Console Messages" do Console , você deve ser um pouco mais específico. Ele mostra apenas mensagens (armazenadas) que possuem um campo Facility que é igual a com.apple.console
(consulte o arquivo Console Messages.aslquery
in /Applications/Utilities/Console.app/Contents/Resources/ASLQueries/
). Você pode gerar tais mensagens com syslog pela opção -k
para definir o campo Recurso.
syslog -s -k Facility com.apple.console \
-k Level notice \
-k Message 'This will show up in "Console Messages"'
Ao usar -k
, todas as opções e a própria mensagem devem ser especificadas com conjuntos de -k key value
arguments (não podemos usar -l
para definir o nível). Isso significa que temos que colocar a mensagem em um único argumento para que possa ser o valor do campo Mensagem.