Come si può ringhiare con syslog?

2

Ho uno script di shell che registra i messaggi su syslog usando il comando 'logger'. Nel mio syslog.conf, filtro quei messaggi in un file di registro specifico. Questa è una soluzione portatile che funziona su tutti i unices. Su OS X, mi piacerebbe anche avere questi messaggi inviati a ringhiare. Ho provato entrambi i seguenti senza successo:

*.*        |exec /usr/local/bin/growlnotify
*.*        @127.0.0.1:23052
    
posta user763954 23.05.2011 - 23:17
fonte

1 risposta

2

Secondo man syslog.conf , syslog.conf di Mac OS X può gestire i messaggi solo scrivendo su un file, inviando al syslog di un host remoto e inviandoli alle console degli utenti.

L'opzione migliore è probabilmente quella di inviare a un file e scrivere un daemon o uno script periodicamente in esecuzione che consuma questo file e chiama growlnotify con ciò che legge dal file, qualcosa del tipo:

#!/usr/bin/env bash
while read line
do
    /usr/local/bin/growlnotify "Your App" -m "$line"
done < /path/to/file
echo -n > /path/to/file

Puoi mantenerlo sempre attivo avvolgendolo in un ciclo o avvialo ogni pochi secondi utilizzando un lavoro launchd e la direttiva StartInterval . man launchd e man launchd.plist ti possono aiutare qui.

    
risposta data 24.05.2011 - 06:35
fonte

Leggi altre domande sui tag