Configuración de un registro personalizado

5

Tengo que obtener todos los registros de información de cromo y firefox de /var/log/system.log y entrar en un buen silencio /var/log/{chromium,firefox}.log .

Sin embargo, no puedo recordar o encontrar cómo configurar eso en syslog.conf . ¿Cómo voy a hacer eso?

EDITAR: He estado buscando en el archivo asl.conf para el daemon de registro de asl. Esto parece tener algo que ver con lo que quiero, aunque pasar de syslog a un formato de registro binario es directamente contra el sentido.

EDITAR: Para ser muy claro, se puede usar syslog para dividir dinámicamente los registros. Apple está haciendo la transición de syslog al registro del sistema de Apple. Por lo tanto, el enfoque grep solo trata con los archivos /var/log syslogd obsoletos.

El cambio a syslog-ng y el registro a sqlite parecen ser más fáciles, pero ¿quién sabe? Estoy seguro de que el formato propietario es el camino a seguir.

Ten en cuenta que

syslog(1) 

es la herramienta de línea de comandos para la base de datos ASL.

syslog(3) 

es la api de C para el daemon syslogd. El reemplazo de ASL para lo anterior es

asl(3)

Ahora,

syslogd(8) 

tiene 2 módulos, uno que escribe en los archivos definidos en

syslog.conf(5)

y una escritura en el registro del sistema de Apple, como se define en

asl.conf(5) 

ASL parece ser el futuro. Syslogd está configurado por syslog.conf y asl.conf .

    
pregunta chiggsy 18.01.2011 - 04:42

2 respuestas

4

La situación es así: las aplicaciones pueden usar la API syslog (3) y la API asl (3) para registrar mensajes, otros datos registrados pueden provenir del kernel o de la red. Todos estos mensajes se entregan al daemon de syslog: syslogd (8). El syslogd ahora envía los mensajes de registro ambos a la manera BSD (escribe cosas en varios archivos de registro básicos como / var / log) y en un almacén de mensajes de registro unificado (/ var / log / asl.log).

Si desea que ciertos mensajes de registro no aparezcan en su archivo archivos (por ejemplo, lea los registros como system.log seleccionándolos en Console.app), deberá configurar syslog.conf (5) como dijo chiggsy . Si desea que los mensajes no se almacenen en la base de datos asl, deberá configurar asl.conf (5).

Si, por ejemplo, ya no desea que los mensajes de registro de Bonjour (mDNSResponders) se almacenen en la base de datos de ASL, deberá agregar la siguiente línea a /etc/asl.conf:

? [= Sender mDNSResponder] ignore

... y luego "suavemente" reinicie syslogd mediante:

sudo killall -HUP syslogd 

Ahora, los mensajes de mDNSResponder ya no aparecerán cuando ingrese en "todos los mensajes" de Console.app, pero aún existan dentro de sus archivos de registro.

Por último, si llama a syslog (1) desde la línea de comandos, actúa como una buena interfaz para consultar la base de datos de ASL; por ejemplo, podría pedirle que muestre todos los mensajes del iniciador de Time Machine Backup que se registraron en el últimas dos horas ejecutando:

syslog -k Facility -k Sender com.apple.backupd-auto -k Time ge −2h

... lo que explica por qué la base de datos de ASL es útil: puede buscar archivos de registro simultáneamente en "todos los archivos de registro".

    
respondido por el Asmus 10.02.2011 - 00:30
0

Hay 2 respuestas en la práctica, si quiero cambiar la ubicación del archivo de registro.

Syslog:

La solución es no leer la página de manual de syslog.conf de OS X. Lea el FreeBSD . Syslog todavía funciona de esta manera cuando se utiliza su módulo BSD.

!-org.chromium.Chromium

*.notice;authpriv,remoteauth,ftp,install,internal.none  /var/log/system.log
kern.*                          /var/log/kernel.log

!*

!org.chromium.Chromium
*.*                                                 /var/log/stfu.log
!*

Esto elimina el registro de chat ridículamente cromoso de /var/log/system.log, y lo coloca en stfu.log.

    
respondido por el chiggsy 09.02.2011 - 23:25

Lea otras preguntas en las etiquetas