1
resposta

o comando regex não trouxe nada

Estou fazendo o curso no Mac, já sei que o syslog no Mac corresponde ao system.log.

No início do curso, na aula de preparação, rodei o comando abaixo:

➜ ~ logger -p local0.info "time="$(date +'%Y-%m-%dT%H:%M:%S')" level=error msg="error: Falha ao iniciar o serviço Apache"" logger -p local0.info "time="$(date +'%Y-%m-%dT%H:%M:%S')" level=warning msg="failed: Serviço Nginx não conseguiu se reiniciar"" logger -p local0.info "time="$(date +'%Y-%m-%dT%H:%M:%S')" level=info msg="access denied: Tentativa de acesso ao banco de dados falhou"" logger -p local0.info "time="$(date +'%Y-%m-%dT%H:%M:%S')" level=error msg="unauthorized: Tentativa de login SSH falhou"" logger -p local0.info "time="$(date +'%Y-%m-%dT%H:%M:%S')" level=info msg="Sistema funcionando corretamente"" logger -p local0.info "time="$(date +'%Y-%m-%dT%H:%M:%S')" level=warning msg="fail: Erro no driver de rede""

Porém, a aula de regex, quando rodei o comando abaixo, não foi apresentado nada no log: ➜ ~ grep -E "fail(ed)?|error|denied|unauthorized" /var/log/system.log

Existe algum outro comando ou caminho diferetene que eu tenha que executar no Mac?

Obrigado!

1 resposta

Olá, Thiago!

Entendo que você está tentando usar o comando grep para filtrar mensagens de log no seu Mac, mas não está obtendo resultados. Vamos ver algumas possibilidades do que pode estar acontecendo.

Primeiro, verifique se as mensagens que você está tentando filtrar realmente foram gravadas no arquivo /var/log/system.log. No macOS, o sistema de logs pode ser um pouco diferente do Linux, e nem sempre as mensagens enviadas pelo logger vão diretamente para o system.log. Você pode tentar usar o comando tail -f /var/log/system.log para ver as mensagens em tempo real e confirmar se elas estão sendo registradas lá.

Outra sugestão é verificar se o nível de log que você está usando (local0.info) está configurado para ser registrado no system.log. Dependendo da configuração do sistema, pode ser necessário ajustar o nível de log ou a configuração do syslog para garantir que essas mensagens sejam capturadas.

Se as mensagens não estiverem aparecendo no system.log, você pode experimentar verificar outros arquivos de log no diretório /var/log/ ou usar o comando log show do macOS para ver logs mais recentes, por exemplo:

log show --predicate 'eventMessage contains "error" || eventMessage contains "fail" || eventMessage contains "denied" || eventMessage contains "unauthorized"' --info --last 1h

Bons estudos!