PowerShell:
Loggføring

Hvordan gjøre det:

Her er det grunnleggende for å krydre skriptene dine med enkel logging:

# Opprette en enkel loggmelding
Write-Host "Info: Starter skriptprosessen."

# Skrive til en fil
"Info: Dette er en logget melding." | Out-File -Append minLogg.log

# Bruk av innebygd cmdlet for mer detaljert logging
Start-Transcript -Path "./detaljertLogg.log"
Write-Output "Advarsel: Noe stemmer ikke helt."
# ... skriptet ditt gjør ting
Stop-Transcript

# Utdata av detaljertLogg.log
******************************
Windows PowerShell transkriptstart
Starttid: 20230324112347
Brukernavn  : PShellGuru@example.com
KjørSom Bruker: PShellGuru@example.com
Konfigurasjonsnavn: 
Maskin  : PS-DEVBOX (Microsoft Windows NT 10.0.17763.0)
Vertsprogram: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Prosess-ID: 2024
PS-versjon: 7.1.2

Nå har du i loggene dine et spill for spill av hva koden din har vært opptatt med.

Dypdykk:

Historisk sett er logging nesten like gammel som programmering selv. Det er som en kapteins logg, men for programvare. Tilbake i tiden, kunne det ha vært utskrifter eller teletypeskrivemaskiner; nå handler alt om filer og fancy logghåndteringssystemer.

Når du er nede i PowerShell-skyttergravene, er Write-Host raskt og skittent, men det spyttet bare ut tekst til konsollen, ikke flott for å holde poster. Out-File gir deg en enkel måte å slenge tekst inn i en fil, men for den virkelige saften vil du ha Start-Transcript og Stop-Transcript som logger alt—innput, output, hele sulamitten.

Alternativer? Klart, hvis du driver i stor skala, kan du se på Windows Event Log eller bruke programvare som Logstash, men for dag-til-dag skriptet, hold deg til PowerShell sine verktøy. Når det gjelder implementering, husk å logge smart – for lite og det er ubrukelig, for mye og det blir hvit støy.

Se også:

Sjekk ut disse for å få tak på alt som omhandler logging i PowerShell: