Bash:
Loggning
Hur man gör:
I Bash kan loggning vara så enkelt som att omdirigera eller lägga till utskrift i en fil. Här är ett grundläggande exempel:
echo "Startar scriptet..." >> script.log
# Dina scriptkommandon här
echo "Scriptet slutfördes den $(date)" >> script.log
För något mer avancerat kan du integrera syslog för systemövergripande loggning:
logger "Anpassat meddelande från mitt script"
logger
sänder ett loggmeddelande till syslog-tjänsten, som sedan hanterar det enligt systemets syslog-konfiguration.
Exempel på utdata som fångats i script.log
:
Startar scriptet...
Scriptet slutfördes den Tue Mar 23 09:26:35 PDT 2021
Fördjupning
Historiskt sett, i Unix-lika system, har loggning underlättats av syslog-tjänsten, vilket möjliggör för olika applikationer och delar av systemet att centralt logga meddelanden. Detta möjliggör implementeringen av en standardiserad loggningsmekanism genom hela systemet.
När det kommer till alternativ, kan vissa överväga att använda syslog-ng
eller rsyslog
för mer avancerade loggningsfunktioner, eller skriva loggar till en tidsbaserad databas för analytiska ändamål. För applikationer med högre komplexitetsnivåer, kan användningen av ett dedikerat loggningsbibliotek eller en loggningsapplikation som Log4j (i Java-ekosystemet) eller Monolog (i PHP), vilket kan tillhandahålla strukturerade och konfigurerbara loggningsalternativ, vara meningsfullt även för ett script-språk som Bash.
Hur du implementerar loggning beror i stor utsträckning på din applikations krav. Om du bara behöver enkel utdata för att följa scriptets framsteg, är det lätt och bekvämt att lägga till meddelanden i en fil. Men för en mer skalbar och robust loggning, vill du integrera med ett loggsystem som stöder funktioner som loggrotation, loggnivåer och fjärrloggning.
Se även
man
-sidorna förlogger
- ochsyslog
-funktionerna är alltid din vän, provaman logger
ellerman syslog
.- För en djupgående titt på systemloggning, överväg att läsa dokumentationen för
rsyslog
ochsyslog-ng
. - För att ta reda på mer om den historiska kontexten och principerna bakom loggning i Unix-lika system, tillhandahåller
Syslog
-protokollet dokumenterat i RFC 5424 omfattande information.