이 가이드는 PowerShell 명령으로 로그 파일 실시간 모니터링 하는 방법에 대해 설명합니다.
일부 앱이나 서비스는 이벤트 뷰어 로그(.evtx) 대신 일반 텍스트 파일로 로그를 저장하므로, 로그 파일의 내용을 실시간으로 표시하는 것은 특정 문제 해결에 유용할 수 있습니다.
Linux, Unix 환경에서는 일반적으로 tail 명령어를 사용하여 로그 파일의 내용을 화면에 표시하고 실시간으로 업데이트합니다.
Windows에서는 실시간 모니터링을 사용하기 위해서는 PowerShell Get-Content 명령어를 tail 명령어와 유사하게 사용할 수 있습니다.
Windows 11에서 PowerShell 명령으로 로그 파일 실시간 모니터링
Windows 환경에서 PowerShell 명령으로 로그를 실시간으로 확인하려면 다음 단계를 수행합니다.

키보드 단축키 Win + R 키를 눌러 실행 대화 상자를 열고 wt 입력 후 Ctrl + Shift + Enter 키를 눌러 관리자 권한으로 터미널을 실행합니다.

다음 명령을 입력하고 Enter 키를 누르면 로그 파일 내용을 실시간으로 출력합니다.
Get-Content -Path "C:\Path_to_Folder\File_Name.log" -Wait
이 명령의 단점은 해당 로그 파일에서 전체 로그를 먼저 표시한다는 점입니다.
화면에 최근 항목 중 몇 개만 표시하는 것이 더 좋을 수 있습니다.
예를 들어 로그 파일의 마지막 10 줄만 표시하고, 새로운 정보가 나타날 때까지 기다리고 싶다면 -Tail 인수를 추가하여 사용하는 것이 좋습니다.

다음 명령을 입력하고 Enter 키를 누르면 해당 로그 파일에서 이미 기록된 마지막 10 줄을 포함하여 업데이트된 로그 내용만 화면에 표시합니다.
Get-Content -Path "C:\Path_to_Folder\File_Name.log" -Wait -Tail 10
만약 마지막 20 줄을 포함하여 실시간으로 로그를 모니터링하고 싶다면 다음 명령을 사용합니다.
Get-Content -Path "C:\Path_to_Folder\File_Name.log" -Wait -Tail 20
PowerShell 명령을 사용하여 로그 파일을 실시간으로 필터링, 특정 조건과 일치하는 로그 내용만 화면에 표시할 수도 있습니다.
예를 들어 특정 IP 주소가 포함된 로그 파일의 항목만 표시하고 싶다면 다음 명령을 사용합니다.
$IP = "192.168.1.100"
Get-Content "C:\Path_to_Folder\File_Name.log" -Tail 10 -Wait | ? {$_ -match $IP}

로그 파일 내용 출력을 특정 항목에 대해 색상으로 구분하여 가독성을 높일 수도 있습니다.
Get-Content "C:\Path_to_Folder\File_Name.log" -Wait -Tail 50 | ForEach-Object {
switch -Regex ($_ ) {
"ERROR" { Write-Host $_ -F White -B Red }
"Success" { Write-Host $_ -F Green }
default { Write-Host $_ }
}
}
위 명령에서 특정 단어, 구문에 대해서 사용자가 원하는 색상으로 달리 출력하도록 설정합니다.
로그에서 에러 발생 시 붉은 배경 색상으로 표시하므로, 출력 내용을 훨씬 읽기 쉬워집니다.
마치며
Windows에서 PowerShell 명령을 활용해 로그 파일을 실시간으로 확인하면 단순히 로그 내용만 확인하는 것이 아닌, 변경되는 내용을 즉시 확인하고 대응할 수 있는 장점이 있습니다.
서버 로그, 애플리케이션 실행 기록, 보안 이벤트 등을 실시간으로 확인할 수 있어 문제 발생 시 빠른 원인 분석과 대응이 가능합니다.
이는 시스템 관리 뿐만 아니라 개발 및 운영 환경에서 큰 효율성을 제공합니다. 다만 로그 파일이 큰 경우에는 성능에 영향을 줄 수 있으므로, 적절한 필터링과 함께 사용하는 것이 중요합니다.


