Esiste un modo per filtrare i messaggi dal log di sistema di OS X?

2

Esiste un modo per filtrare i messaggi dal registro di sistema di OS X?

Sto osservando il log su un vecchio MacBook con Lion.

Questo ha un messaggio di errore ogni 10 secondi da un servizio obsoleto:

com.apple.launchd.peruser.503[154] (de.novamedia.VodafoneDeviceObserver[1386]): posix_spawn("/Library/Application Support/Vodafone/NML2NDeviceObserver.app/Contents/MacOS/NML2NDeviceObserver", ...): No such file or directory

L'app effettiva è ormai lontana, era solo il servizio di avvio che genera messaggi di errore (negli ultimi 5 anni!)

    
posta Milliways 22.01.2015 - 02:47
fonte

4 risposte

2

se vuoi solo nascondere i messaggi di errore che ingombrano il log della console, per una più facile leggibilità, allora questo può essere facilmente fatto selezionando uno qualsiasi dei messaggi di evento offensivo, quindi fai clic su " Ignora Sender 'sulla barra degli strumenti della Console; questi messaggi saranno quindi nascosti alla vista. i messaggi di evento sono ancora generati, fino a quando non risolvi il problema del driver obsoleto, ma non li vedrai nella Console. vedere maggiori informazioni QUI e QUI .

    
risposta data 22.01.2015 - 05:15
fonte
1

hai provato a localizzare & rimuovere il driver Vodafone obsoleto dalle cartelle LaunchAgent, LaunchDaemon e / o StartupItems?

dai uno sguardo in questi luoghi:

  1. ~ / Library / LaunchAgents
  2. / Library / LaunchAgents
  3. / Library / LaunchDaemons
  4. / System / Libary / LaunchAgents
  5. / Sistema / Libary / LaunchDaemons

vedi QUI per ulteriori discussioni

    
risposta data 24.01.2015 - 11:36
fonte
0

Ho filtrato correttamente le voci di registro da /var/log/system.log creando un nuovo file in /etc/asl/custom.cleanup.conf con queste voci -

# Ignore some noisy log entries.

? [CA= Message Google Chrome He] file /dev/null
? [CA= Message Google Chrome He] claim

? [CA= Message Time to encode state for window] file /dev/null
? [CA= Message Time to encode state for window] claim

Regolerai i tuoi filtri in modo che corrispondano alle voci specifiche del registro che desideri escludere; i filtri sopra corrispondono alle voci del registro di cui volevo sbarazzarmi (sezione sotto).

Una volta creato il file di configurazione (nota che dovrai modificare con i permessi di root in quella directory), riavvia syslog con

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

Queste sono le voci del registro che volevo escludere.

Aug 20 10:38:54 strike iTerm2[11929]: Time to encode state for window <PseudoTerminal: 0x7ff611223344 tabs=2 window=<PTYWindow: 0x7ff611223344 frame=NSRect: {{-0, 6}, {1914, 1051}} title=1. sudo alpha=1.000000 isMain=1 isKey=1 isVisible=1 delegate=0x7ff611223344>>: 0.01158303022384644

Aug 20 10:38:56 strike kernel[0]: Google Chrome He[72873] triggered unnest of range 0x7fff11223344->0x7fff11223344 of DYLD shared region in VM map 0x84d623d211223344. While not abnormal for debuggers, this increases system memory footprint until the target exits.

syslog quindi lamenta di non essere in grado di scrivere su /dev/null , ma gli elementi filtrati saranno esclusi da /var/log/system.log quale è il tuo risultato previsto!

Aug 20 11:36:31 strike syslogd[74699]: Disabling module custom.cleanup.conf writes to /dev/null following 6 failures (Operation Failed)

Mi piacerebbe sapere un modo più semplice per configurarlo, soprattutto se non richiede due righe per filtro:)

    
risposta data 20.08.2016 - 01:34
fonte
0

La pagina man di asl.conf afferma che potrebbe contenere regole di azione della query nel modulo

? query action …

e query ha il formato

[operator key value]

Esempio

? [= Sender foobar] [<= Level error] notify com.apple.foobar
  op   key   value   op  key   value
  -----query 1----- -----query 2---- ---------action--------

Da quella stessa fonte (grassetto è mio)

ignore           Causes a matching message to be ignored in all **subsequent** matching rules.

Le configurazioni che erano in syslog.conf ora sono in asl.conf sotto il commento

# Flat file configurations formerly in syslog.conf

Sono a conoscenza del fatto che, per ignorare i messaggi sia in system.log che in Console.app , dovresti inserire regole per ignorare i messaggi prima il commento sopra .

Esempio con il modificatore S , che ignora i messaggi corrispondenti a tale sottostringa da SIMBL Agent .

? [= Sender SIMBL Agent] [S= Message warning: failed to get scripting definition from] ignore
  op -key-- ---value---  mod --key-- --------------------value-----------------------
  --------query 1------- -----------------------query 2------------------------------- action

Dopo aver aggiunto una regola, riavvia il daemon con sudo killall HUP syslogd .

Testato con successo in OS X 10.8.5.

Aggiorna

I moduli sembrano essere apparsi il 10.9, vedi qui .

If the /etc/asl directory exists, then syslogd and aslmanager will read each file it contains. These files must have the same format as asl.conf. Each file configures an independent module, identified by the file name. Modules may be enabled or disabled independently. Each module may specify its own set of rules for acting on received messages. See the ASL MODULES section for details.

Quindi i filtri potrebbero essere configurati in un file separato. Non l'ho provato però.

    
risposta data 13.02.2017 - 14:56
fonte

Leggi altre domande sui tag