Cosa fa logger -f nomefile?


4

La pagina man è formulata in modo ambiguo:

-f file    Log the specified file.

C'è un esempio nella pagina man senza ulteriori spiegazioni:

logger -p local0.notice -t HOSTIDM -f /dev/idmc

POSIX non è di aiuto:

L'utilità logger salva un messaggio, in modo e formato non specificati, contenente gli operandi di stringa forniti dall'utente. I messaggi dovrebbero essere valutati in seguito dal personale che esegue le attività di amministrazione del sistema.

Mi aspetto che registri:

  • al file
  • qualcosa sul file
  • o qualcosa da file

Tuttavia, se faccio quanto segue:

$ echo "contents" > testfile
$ logger -f ./testfile "test message"
$ cat testfile
contents
$ tail /var/log/messages
Aug  4 10:00:00 hostname logger: test message

Non ho nulla a che fare con "testfile" o il suo contenuto né i suoi contenuti sono cambiati. Se testfilenon esiste prima di emettere il loggercomando, viene visualizzato questo messaggio di errore:

logger: ./testfile: nessun file o directory.

Cosa logger -fdovrebbe fare?

Risposte:


7

La documentazione GNU è un po 'più chiara e fornisce un suggerimento per ulteriori test:

-f file
--file = file
Registra il contenuto del file specificato. Se il file è '-' si presume l'input standard.

Si scopre che la specifica di un messaggio ha la precedenza sulla specifica di un file.

Quindi funziona:

logger -f testfile

e registra il contenuto del file nel file di registro. Se il file è composto da più righe, ciascuna riga diventa una voce separata nel registro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.