2 votos

El proceso es demasiado verboso, ¿cómo evitar que inunde system.log?

Estoy usando esto aplicación (Solar.app) de Logitech para controlar las células solares y las baterías desde su propio teclado solar (K750)

Un proceso es demasiado verboso y registra aproximadamente 400 bytes en /var/log/system.log en cada pulsación de tecla.

Estoy buscando varias soluciones para evitar que el proceso inunde system.log.

Jan  5 17:32:11 pc96 Solar Service[702]: Input data callback for device 0x6047d0
Jan  5 17:32:11 pc96 Solar Service[702]: End of data
Jan  5 17:32:11 pc96 Solar Service[702]: Event = 1 device index = 1
Jan  5 17:32:11 pc96 Solar Service[702]: Input data callback for device 0x6047d0
Jan  5 17:32:11 pc96 Solar Service[702]: End of data
Jan  5 17:32:11 pc96 Solar Service[702]: Event = 1 device index = 1

He podido encontrar una regla que coincida con esos mensajes, pero:

1/

# ? [= Facility com.Logitech.Solar-Service] file solar-Service.log format=raw

Esta regla (cuando se usa sola) realmente registra los mensajes en un archivo diferente, además de system.log . Aquí está solar-Service.log:

[Level 4] [Time 1452071909] [TimeNanoSec 309468000] [PID 702] [Sender Solar Service] [Facility com.Logitech.Solar-Service] [CFLog Local Time 2016-01-06 10:18:29.309] [CFLog Thread 160b] [ReadUID 501] [Message Event = 1 device index = 1] [UID 501] [GID 20] [SenderMachUUID C4A60E0E-5968-829C-BC55-931BBEB0A7F7] [Host pc96]
[Level 4] [Time 1452071909] [TimeNanoSec 951289000] [PID 702] [Sender Solar Service] [Facility com.Logitech.Solar-Service] [CFLog Local Time 2016-01-06 10:18:29.951] [CFLog Thread 160b] [ReadUID 501] [Message Input data callback for device 0x6047d0] [UID 501] [GID 20] [Host pc96] [SenderMachUUID C4A60E0E-5968-829C-BC55-931BBEB0A7F7]

2/

? [= Facility com.Logitech.Solar-Service] ignore

.. pero esta regla (cuando se usa sola), no ignora los mensajes.

y no entiendo por qué es así.

1voto

George Puntos 1

Para seguir con la respuesta de bmike, el identificador de la aplicación es com.logitech.Solar-App . Así que el código que quieres poner en tu asl.conf es

? [= Facility com.logitech.Solar-App] ignore

Si quieres confirmar que estoy en lo cierto sobre el identificador de tu aplicación, prueba:

/usr/libexec/PlistBuddy -c 'Print CFBundleIdentifier' /Applications/Solar\ App.app/Contents/Info.plist 

Y si quieres que esto entre en vigor de inmediato, puedes reiniciar syslogd con algo así:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist 
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist

0voto

Oskar Puntos 1242

Sí - hay una manera de ignorar los mensajes de un remitente / aplicación específica en lugar de filtrado basado en la gravedad de todos los mensajes . Necesitarás estar mínimamente cómodo con el terminal o tener una copia de seguridad y estar dispuesto a borrar tu Mac y restaurar desde la copia de seguridad en caso de cometer errores de sintaxis o causar problemas en el terminal.

La visión general es:

  • hacer una copia de seguridad del sistema y del archivo de configuración del registro del sistema
  • editar el archivo de configuración (utilizar nano en lugar de vi si no está acostumbrado a utilizar vi )
  • reiniciar el proceso de registro
  • prueba

Necesitas un usuario administrador para proceder:

sudo cp -p /etc/asl.conf /etc/asl.bak
sudo vi /etc/asl.conf
sudo killall HUP syslog

Aquí están las tres líneas (bueno, una línea en blanco no se renderiza aquí y la primera línea es un comentario, así que la única línea que se necesita es la que tiene Facility en él) que añadí para ignorar los mensajes de la App Store del archivo /var/log/system.log de mi sistema:

# ignore "App Store" messages
? [= Facility com.apple.appstore] ignore

Debe sustituir el com.apple.appstore con los resultados de su solicitud.

mdls -name kMDItemCFBundleIdentifier /Applications/Solar\ Service.app/

He intentado hacer coincidir el nombre de la aplicación con [= Sender "App Store"] ignore pero los espacios en el nombre de la aplicación no parecen ser respetados o tal vez no es así como funciona el sistema de registro. La instalación parece coincidir con kMDItemCFBundleIdentifier en mis pruebas.

Ahora, las malas noticias. El sistema de registro es capaz de registrar miles de mensajes por segundo así que ignorar los mensajes no va a hacer mucho más que facilitar la consulta de ese archivo. Es posible que tenga que ponerse en contacto con el proveedor para cambiar la aplicación, pero espero que ocultar los mensajes funcione para sus necesidades, ya que es algo que debería poder hacer fácilmente.

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