Estou tentando registrar eventos / pontos de verificação do meu shell-script usando logger
.
Como usar logger
ou syslog
utilitário no OS X (versão 10.12 (16A323)) . eu tentei
logger "Hello world"
e verificada /var/log/system.log
usando o aplicativo Console, a seguir foi a entrada de log criada
Falha ao coletar seqüências de caracteres para o binário chamado '–Xó ^ H'
Como usar logger
no OS X? Há algo a ser especificado para criar / adicionar uma entrada ao log do sistema OS X?
Hello World
nenhum/var/log/*.log
arquivo. O comportamento que @SG_ está vendo, é reproduzível no meu Mac executando o macOS 10.12. Além disso,logger -s 'Hello World'
imprime corretamente no console, mas não em nenhum arquivo de log em disco.Respostas:
Porque o sistema de registro da Apple mudou no macOS sierra. Eles estão passando do recurso Apple System Log para o log unificado.
Aqui está um link para a documentação do desenvolvedor.
A seguir, filtra o novo log unificado do texto "Message4me"
=======
Se você adicionar --info, também verá a mensagem do evento na saída.
Nas versões anteriores do SO, o comando logger enviava para o arquivo /var/log/system.log se a prioridade fosse alta o suficiente (por exemplo, usando -p alert), bem como para o banco de dados syslog. No Sierra, o system.log não é gravado quando o logger é usado com -p alert -not na 10.12.1. Isso pode ser um bug.
Você ainda pode usar o criador de logs para enviar para ele o novo sistema de criação de log, mas precisará usar o aplicativo Console, o utilitário cli log ou a nova API para ver os resultados.
fonte
Resolvi esse problema com um script que usa o netcat para enviar logs específicos a cada 10 minutos a partir de um daemon de inicialização. Edite conforme necessário.
fonte
Esta não é uma resposta real, mas uma solução alternativa e muito longa para um comentário.
Eu enfrentei o mesmo problema no Sierra tentando registrar um script shell de atualização de homebrew, incluindo comandos de logger (que funcionavam em El Capitan). Eu tive que abandonar o logger e simplesmente usei eco, redirecionamento de saída e um novo arquivo de log:
fonte