로그 파일 파서

원시 로그 파일은 타임스탬프, 계층 정보 및 자유 텍스트 메시지로 구성된 데이터 집합입니다. Nginx 접근 로그, Apache 오류 로그, syslog 덤프 파일 또는 Laravel 채널 파일을 복사하여 입력하면 파서가 이를 구조화된 행으로 분해합니다. 이를 통해 ISO 날짜 범위, 중증도(디버깅에서 비상 상황까지), 클라이언트 IP 주소 또는 메시지에 대한 정규 표현식(regex)을 기준으로 필터링할 수 있으며, 해당 결과를 강조 표시하여 특정 사건 시간대 동안 실제로 어떤 일이 발생했는지를 명확히 확인할 수 있습니다.

로그 파일을 어떻게 파싱할 수 있는가

  1. 1

    로그 내용을 붙여넣기

    원시 로그 텍스트를 입력하세요. 일반 형식(combined, common, syslog, JSON-lines)은 자동으로 감지됩니다.

  2. 2

    날짜 필터를 설정하세요

    사건 창을 확대 보기 위해 시작/종료 타임스탬프를 사용하세요.

  3. 3

    레벨 또는 IP 주소로 필터링하세요

    심각도 수준을 체크하거나 IP 주소를 입력하거나, 메시지를 일치시킬 정규 표현식 패턴을 입력하세요.

  4. 4

    표를 읽어보세요

    각 행은 타임스탬프, 레벨, 소스 및 메시지를 표시하며, 해당 세그먼트는 강조되어 있습니다.

파서가 인식하는 형식

형식 샘플 출처
Nginx 복합 로그 1.2.3.4 - - [18/Apr/2026:10:00:00 +0000] "GET / HTTP/1.1" 200 1234 웹 접속 로그
아파치 공용 위와 동일하지만 RefererUser-Agent를 제외한 경우 고전적인 LAMP 스택
시스로그 RFC 5424 <34>1 2026-04-18T10:00:00Z host app - ID47 - msg 리눅스 시스템 데몬
Laravel 일일 [2026-04-18 10:00:00] production.ERROR: message Laravel 로그 채널
JSON 라인 {"ts":"...","level":"ERROR","msg":"..."} 구조화 로거, Loki, ELK

표준 로그 수준

가장 큰 소리부터 가장 작은 소리까지 순서로 나열되어 있습니다. 대부분의 앱은 syslog/PSR-3 순서를 따릅니다:

  1. EMERGENCY – 시스템 사용 불가능입니다.
  2. ALERT – 즉각적인 조치가 필요합니다.
  3. CRITICAL, 심각한 상태(예: 데이터베이스 다운).
  4. ERROR, 조사가 필요한 런타임 오류입니다.
  5. WARNING – 이상 상태이며 오류가 아닙니다.
  6. NOTICE – 정상적이지만 중요한 사건입니다.
  7. INFO – 일반 운영 메시지들.
  8. DEBUG – 저수준 진단 기능을 갖추고 있으나 생산 환경에서는 잡음이 발생합니다.

필터링 팁

  • 먼저 날짜로 좁히세요. 대부분의 운영 로그는 매우 방대하므로, 인시던트 시간 범위로 제한하면 다른 모든 필터의 처리 속도가 크게 향상됩니다.
  • 메시지에는 정규 표현식을 사용하세요. timeout|connection refused|5\d\d를 검색하면 대부분의 네트워크 장애를 한 번에 확인할 수 있습니다.
  • 하나의 IP 주소만 분리하세요. 의심스러운 클라이언트를 조사할 때는 나머지를 모두 걸러내고 해당 클라이언트의 요청을 시간 순서대로 확인하세요.
  • 크롤러를 제외하세요. bot, crawl, spider 같은 User-Agent 부분 문자열은 분석형 조사에서 발생하는 대부분의 노이즈를 걸러냅니다.

성능 정보

  • 파서는 클라이언트 측에서 실행되므로 각 줄은 사용자의 컴퓨터에 남아 있습니다. 따라서 용량이 매우 큰 파일(100MB 이상)은 브라우저 성능을 저하시킬 수 있으므로, 먼저 split -l로 파일을 분할하거나 서버 측 도구를 통해 스트리밍 처리하는 것이 좋습니다.

자주 묻는 질문

아니요, 분석 및 필터링은 브라우저에서 수행됩니다. 붙여넣은 로그는 결코 사용자의 기기를 벗어나지 않으며, 이는 IP 주소, 토큰 또는 개인 식별 정보(PII)가 포함될 수 있는 파일의 경우 특히 중요합니다.

네, 공백 문자 또는 at ...로 시작하는 행들은 이전 로그 항목에 연결되므로 전체 예외 스택이 하나의 행에 유지됩니다.

메시지 열에 regex 필터를 적용하세요. 구조화된 JSON 로그의 경우 모든 키는 메시지 내 평범한 텍스트 형태로 검색할 수 있습니다.

직접적으로는 아니며, 먼저 gunzip 또는 파일 처리 도구를 사용해 데이터를 압축 해제한 후 원시 텍스트를 붙여넣으세요. 파서는 압축되지 않은 로그 라인을 기대합니다.

확실한 한계는 없지만, 10MB를 초과하는 파일은 필터링 속도가 느려질 수 있습니다. 대용량 아카이브의 경우 서버에서 먼저 grep을 실행한 후 필터링된 결과를 여기에 붙여넣으세요.

관련 도구

이 도구는 다른 언어로도 제공됩니다