Basicamente, resume-se a isto:
- Os aplicativos podem usar a API syslog (bsd_in) e a API asl (asl_in) para registrar mensagens, entregando-as ao daemon syslog (syslogd). Outros dados que são registrados podem vir do kernel (klog_in) ou da rede (udp_in).
- Todas essas mensagens são tratadas pelo syslogd, que gera mensagens de log da maneira BSD (bsd_out: grava coisas em vários arquivos de log básicos, como / var / log) e em um armazenamento unificado de mensagens de log (asl_action: o armazenamento de mensagens está em / var / log / asl /*).
- O console exibe os dois tipos de recursos de registro: arquivos de log "clássicos" e pesquisas de banco de dados. Mesmo se você excluir todos os arquivos .log, o banco de dados ainda estará intacto e cheio de entradas.
Além disso, se você quiser solucionar problemas, não deve ser necessário limpar arquivos de log antigos , você só precisará ser mais específico sobre o que deseja ler no log. Um bom ponto de partida seria usar "syslog" (não syslogd!) Na linha de comando, onde você pode analisar logs com instruções mais específicas (dê uma olhada no man syslog). Então, se você fosse analisar todas as mensagens registradas pelo Safari nas últimas 5 horas, você executaria:
syslog -k Facility -k Time ge -5h -k Sender Safari
ou para ver todas as mensagens, mas não as do Mail:
syslog -k Facility -k Sender ne Mail
Confie em mim, mesmo que isso pareça confuso, é muito melhor ler os logs na linha de comando do que no Console.app
Mas se você quiser continuar usando o Console você ainda pode querer fazer o checkout da man page do aslmanager e do syslog.conf para ver como você pode, por exemplo. configure onde os arquivos são mantidos, por quanto tempo e como arquivá-los.