Bash:
Loggføring
Hvordan:
I Bash kan logging være så enkelt som å omdirigere eller legge til utdata i en fil. Her er et grunnleggende eksempel:
echo "Starter skriptet..." >> script.log
# Dine skriptkommandoer her
echo "Skript fullført den $(date)" >> script.log
For noe mer avansert, kunne du inkorporere syslog for systemvid logging:
logger "Egendefinert melding fra mitt skript"
logger
sender en loggmelding til syslog-tjenesten, som så håndterer den i henhold til systemets syslog-konfigurasjon.
Eksempel på utdata fanget i script.log
:
Starter skriptet...
Skript fullført den Tir Mar 23 09:26:35 PDT 2021
Dypdykk
Historisk sett i Unix-lignende systemer, har logging blitt fasilitert av syslog-tjenesten, som tillater forskjellige applikasjoner og deler av systemet å logge meldinger sentralt. Dette muliggjør implementeringen av en standardisert loggingmekanisme gjennom hele systemet.
Når det kommer til alternativer, kan noen vurdere å bruke syslog-ng
eller rsyslog
for mer avanserte loggingsfunksjoner, eller skrive logger til en tidsserie-database for analytiske formål. For applikasjoner med høyere nivåer av kompleksitet, kan det gi mening å bruke et dedikert loggingsbibliotek eller applikasjon som Log4j (i Java-økosystemet) eller Monolog (i PHP), som kan tilby strukturerte og konfigurerbare loggingsalternativer, selv for et skriptspråk som Bash.
Måten du implementerer logging på, avhenger i stor grad av din applikasjons behov. Hvis du bare trenger enkel utdata for å spore fremdriften til skriptet, er det enkelt og praktisk å legge til meldinger i en fil. Imidlertid, for mer skalerbar og robust logging, vil du integrere med et loggingssystem som støtter funksjoner som loggrotasjon, loggnivåer og fjernlogging.
Se også
man
-sidene forlogger
- ogsyslog
-funksjonene er alltid dine venner, prøvman logger
ellerman syslog
.- For et dybdegående blikk på systemlogging, vurder å lese dokumentasjonen for
rsyslog
ogsyslog-ng
. - For å finne ut mer om den historiske konteksten og prinsippene bak logging i Unix-lignende systemer, gir
Syslog
-protokollen dokumentert i RFC 5424 omfattende informasjon.