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

2

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

Un proceso es demasiado detallado y registra aprox. 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) en realidad 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í.

    
pregunta alecail 05.01.2016 - 17:33

2 respuestas

1

Para hacer un seguimiento de 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 tengo razón 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 vigencia de inmediato, puedes reiniciar syslogd con algo como esto:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist 
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
    
respondido por el Christopher R 25.07.2016 - 18:06
0

Sí: hay una forma de ignorar los mensajes de un remitente / aplicación específico en lugar de filtrado basado en la gravedad de todos los mensajes . Deberá sentirse cómodo con el terminal o tener una copia de seguridad y estar dispuesto a borrar su Mac y restaurar desde la copia de seguridad si comete errores de sintaxis o causa problemas en la terminal.

El resumen es:

  • haga una copia de seguridad del sistema y haga una copia de seguridad del archivo de configuración de registro del sistema
  • edite el archivo de configuración (use nano en lugar de vi si no está acostumbrado a usar vi )
  • reinicia el proceso de registro
  • prueba

Necesita un usuario administrador para continuar:

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 representa aquí y la primera línea es un comentario, por lo que la única línea que se necesita es la que contiene Facility ) que agregué para ignorar los mensajes de la App Store el archivo /var/log/system.log de mi sistema:

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

Debes reemplazar com.apple.appstore con los resultados de tu aplicación.

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

Intenté hacer coincidir el nombre de la aplicación con [= Sender "App Store"] ignore , pero los espacios en el nombre de la aplicación no parecían respetarse 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 , por lo que ignorar los mensajes no hará mucho, pero hará que ese archivo sea más fácil de ver. Es posible que deba ponerse en contacto con el proveedor para cambiar la aplicación, pero espero que ocultar los mensajes funcione para sus necesidades, ya que eso es algo que debería poder hacer fácilmente.

    
respondido por el bmike 05.01.2016 - 18:54

Lea otras preguntas en las etiquetas