6 votos

Establecer un registro personalizado

Tengo que sacar todos los registros de información de chromium y firefox de /var/log/system.log y en una tranquila /var/log/{chromium,firefox}.log .

Sin embargo, no puedo recordar o encontrar la forma de establecer que en syslog.conf . ¿Cómo lo haría?

EDIT: He estado mirando el asl.conf para el demonio de registro asl. Esto parece tener algo que ver con lo que quiero, aunque, pasando de syslog a un formato de registro binario es directamente en contra de sentido.

EDIT: Para ser muy claro se puede utilizar syslog para cortar dinámicamente los registros. Apple está haciendo la transición de syslog al registro del sistema de Apple. Así que el enfoque grep sólo se ocupa de la obsoleta /var/log archivos syslogd.

Cambiar a syslog-ng y registrar en sqlite parece más sencillo, pero ¿quién sabe? Estoy seguro de que el formato propietario es el camino a seguir.

Tenga en cuenta que

syslog(1) 

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

syslog(3) 

es la api C para el demonio syslogd. El reemplazo 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 apple, como se define en

asl.conf(5) 

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

5voto

James Socol Puntos 146

La situación es así: Las aplicaciones pueden utilizar la API syslog(3) y la API asl(3) para registrar mensajes, otros datos registrados pueden proceder del núcleo o de la red. Todos estos mensajes se entregan al demonio syslog: syslogd(8). El syslogd emite ahora 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 registro archivos (por ejemplo, si lee registros como system.log seleccionándolos en Console.app), deberá configurar syslog.conf(5) de la siguiente manera chiggsy dijo . 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 ASL, tendrá que añadir la siguiente línea a /etc/asl.conf :

? [= Sender mDNSResponder] ignore

y luego "suavemente" reiniciar el syslogd por:

sudo killall -HUP syslogd 

Ahora, los mensajes de mDNSResponder ya no aparecerán cuando entres en "todos los mensajes" de Console.app, pero seguirán existiendo en tus archivos de registro.

Por último, si llama a syslog(1) desde la línea de comandos, actúa como un buen frontend para consultar la base de datos ASL - podría, por ejemplo, pedirle que muestre todos los mensajes del iniciador de copias de seguridad de Time Machine que se registraron en las últimas dos horas ejecutándose:

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

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

0 votos

Entonces, ¿cómo averiguas quién se supone que es el "Remitente"? Por ejemplo, quiero ver cosas sshd, he intentado "sshd" y "com.openssh.sshd" y ninguno devuelve información que está claramente allí en system.log

0 votos

@Michael ¡buena pregunta! De hecho no estoy seguro de por qué syslog se comporta de manera diferente para sshd (y al parecer vnc, ftp por lo que presentó esto como un nueva pregunta .

0voto

Paul Puntos 170

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

Syslog:

La solución es no lea la página de manual de OS X syslog.conf. Lea la página FreeBSD uno. Syslog sigue funcionando así 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 ridículamente parlanchín de chromium de /var/log/system.log, y lo pone en stfu.log.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X