
Um parser multiplataforma para Apple UnifiedLogs!
Uma biblioteca Rust simples que pode ajudar a analisar os arquivos Unified Log do macOS.
Os Unified Logs foram introduzidos na versão 10.12 do macOS (Sierra, 2016). Parte do
objetivo da Apple de criar um formato de log unificado para todos os produtos Apple. Eles existem
no macOS, iOS, watchOS e tvOS. Os Unified Logs substituem muitos dos antigos formatos de log
que a Apple usava. Esta biblioteca pode ser usada para analisar esses arquivos de log.
Os dados atualmente extraídos incluem:
Um binário de exemplo está disponível para download
unifiedlog_iterator - Pode analisar um logarchive em um arquivo JSOL ou CSV. Também pode analisar os logs
em um sistema ativo. O arquivo de saída será bastante grandeFoi testado contra milhões de entradas de log. No entanto, devido à complexidade do formato Unified Log, existem algumas limitações:
Sem suporte à consulta de códigos de erro no estilo printf. Esta biblioteca não faz nenhuma consulta
de códigos de erro para mensagens de log. O comando log nativo do macOS oferece suporte
a consultas de códigos de erro quando encontra mensagens %m no estilo printf.
Por exemplo, a mensagem de log: 'Failed to open file, error: %m'
a. Esta biblioteca gera:
Failed to open file, error: 1
b. O comando Log do macOS gera:
Failed to open file, error: no such file or directory
Esta biblioteca suporta a maioria dos objetos personalizados em mensagens de log. No entanto, objetos não suportados serão codificados em base64