Il processo è troppo dettagliato, come fermarlo da flooding system.log?

2

Sto utilizzando questa applicazione (solare. app) di Logitech per monitorare le celle solari e le batterie dalla propria tastiera solare (K750)

Un processo è troppo prolisso e registra circa. 400 byte in /var/log/system.log a ogni pressione del tasto.

Sto cercando varie soluzioni per impedire al processo di inondare 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

Sono stato in grado di trovare una regola per abbinare quei messaggi, ma:

1 /

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

Questa regola (se utilizzata da sola) registra effettivamente i messaggi in un file diverso, oltre a system.log . Ecco 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

.. ma questa regola (se usata da sola), non ignora i messaggi.

e non capisco perché sia così.

    
posta alecail 05.01.2016 - 17:33
fonte

2 risposte

1

Per dare seguito alla risposta di bmike, l'identificativo dell'app è com.logitech.Solar-App . Quindi il codice che vuoi inserire in asl.conf è

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

Se vuoi confermare che ho ragione sull'identificatore della tua app, prova:

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

E se vuoi che questo entri in vigore subito, puoi riavviare syslogd con qualcosa di simile a questo:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist 
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
    
risposta data 25.07.2016 - 18:06
fonte
0

Sì: c'è un modo per ignorare i messaggi da un mittente / applicazione specifici invece di filtraggio basato sulla severità di tutti i messaggi . Avrai bisogno di essere minimamente a tuo agio con il terminale o di avere un backup ed essere disposto a cancellare il tuo Mac e ripristinare dal backup se dovessi fare errori di sintassi o causare problemi nel terminale.

La panoramica è:

  • eseguire il backup del sistema e creare una copia di backup del file di configurazione del registro di sistema
  • modifica il file di configurazione (usa nano invece di vi se non sei abituato a usare vi )
  • riavvia il processo di registrazione
  • test

È necessario un utente amministratore per procedere:

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

Ecco le tre linee (beh, una riga vuota non viene visualizzata qui e la prima riga è un commento, quindi l'unica riga necessaria è quella con Facility in essa) Ho aggiunto per ignorare i messaggi App Store da il file /var/log/system.log del mio sistema:

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

Dovresti sostituire com.apple.appstore con i risultati della tua applicazione.

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

Ho provato ad abbinare il nome dell'applicazione con [= Sender "App Store"] ignore ma gli spazi nel nome dell'applicazione non sembravano essere rispettati o forse non è solo il modo in cui funziona il sistema di log. La funzione sembra corrispondere a kMDItemCFBundleIdentifier nei miei test.

Ora, le cattive notizie. Il sistema di registrazione è in grado di registrare migliaia di messaggi a secondi , quindi ignorare i messaggi non farà molto ma rendere più semplice l'aspetto di un file. Potrebbe essere necessario contattare il fornitore per ottenere l'applicazione modificata, ma si spera che nascondere i messaggi funzioni per le tue esigenze poiché è qualcosa che dovresti riuscire a fare facilmente.

    
risposta data 05.01.2016 - 18:54
fonte

Leggi altre domande sui tag