PowerShell:
การบันทึกล็อก
วิธีการ:
นี่คือข้อมูลพื้นฐานในการเพิ่มการบันทึกแบบพื้นฐานลงในสคริปต์ของคุณ:
# การสร้างข้อความบันทึกง่ายๆ
Write-Host "Info: เริ่มกระบวนการสคริปต์."
# การเขียนลงไฟล์
"Info: นี่คือข้อความที่ถูกบันทึก." | Out-File -Append myLog.log
# การใช้ cmdlet ตัวในเพื่อบันทึกข้อมูลแบบละเอียด
Start-Transcript -Path "./detailedLog.log"
Write-Output "Warning: บางอย่างไม่ถูกต้อง."
# ... สคริปต์ของคุณทำงาน
Stop-Transcript
# ผลลัพธ์ของ detailedLog.log
******************************
Windows PowerShell transcript start
Start time: 20230324112347
Username : PShellGuru@example.com
RunAs User: PShellGuru@example.com
Configuration Name:
Machine : PS-DEVBOX (Microsoft Windows NT 10.0.17763.0)
Host Application: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Process ID: 2024
PS Version: 7.1.2
ตอนนี้, ในบันทึกของคุณ, มีการบันทึกแบบเล่นๆ ของสิ่งที่โค้ดของคุณได้ทำไป.
การศึกษาลึก:
ตามประวัติศาสตร์, การบันทึกเก่าแก่เท่ากับการเขียนโปรแกรมเอง มันเหมือนกับบันทึกการเดินเรือแต่สำหรับซอฟต์แวร์ ในอดีต, อาจจะเป็นการพิมพ์ออกมาหรือเครื่องพิมพ์โทรเลข; ตอนนี้มันกลายเป็นเรื่องเกี่ยวกับไฟล์และระบบการจัดการบันทึกข้อมูลที่สวยงาม
เมื่อคุณกำลังอยู่ในแนวรบแห่ง PowerShell, Write-Host
รวดเร็วและสกปรก, แต่มันเพียงแค่ส่งข้อความออกไปยังคอนโซล, ไม่ดีสำหรับการเก็บบันทึก Out-File
ให้คุณวิธีง่ายๆ ในการส่งข้อความเข้าไฟล์, แต่สำหรับน้ำยาที่แท้จริง, คุณต้องการ Start-Transcript
และ Stop-Transcript
ซึ่งบันทึกทุกอย่าง—การป้อนข้อมูล, ผลลัพธ์, จริงๆ ทั้งหมด
ทางเลือก? แน่นอน, หากคุณกำลังทำงานระดับองค์กร, คุณอาจดูที่ Windows Event Log หรือใช้ซอฟต์แวร์เช่น Logstash, แต่สำหรับสคริปต์ประจำวันของคุณ, ให้ยึดติดกับเครื่องมือของ PowerShell สำหรับการนำไปใช้, จำไว้ว่าต้องบันทึกอย่างฉลาด - น้อยเกินไปและมันจะไม่มีประโยชน์, มากเกินไปและมันจะเป็นเพียงเสียงรบกวน
ดูเพิ่มเติม:
ดูสิ่งเหล่านี้เพื่อเข้าใจเรื่องการบันทึกใน PowerShell ทั้งหมด: