본문 바로가기

NDJSON 필터·매핑 도구

브라우저 처리

한 줄에 JSON 하나씩 담긴 NDJSON 로그에서 조건에 맞는 줄만 고르고, select로 필요한 키만 남깁니다. user.city 같은 점 경로와 >, <= 숫자 비교를 쓸 수 있습니다.

사용 전 확인
  • 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
도구 실행입력 후 결과 확인
NDJSON 필터·매핑 도구 샘플 실행

서버 로그, 이벤트 내보내기, BigQuery 결과처럼 줄마다 JSON이 하나씩 있는 NDJSON 파일에서 원하는 줄만 추려 내는 도구입니다. 조건 칸에 'level=error'처럼 적으면 그 값과 정확히 같은 줄만 남기고, 여러 조건은 모두 만족하는 줄만 고릅니다.

브라우저 처리
샘플 결과
{"ms":1200,"req.path":"/api/pay"}
자바스크립트가 활성화되면 이 영역이 실제 입력, 실행, 결과 패널로 바뀝니다.

NDJSON 필터·매핑 도구 사용 가이드

서버 로그, 이벤트 내보내기, BigQuery 결과처럼 줄마다 JSON이 하나씩 있는 NDJSON 파일에서 원하는 줄만 추려 내는 도구입니다. 조건 칸에 'level=error'처럼 적으면 그 값과 정확히 같은 줄만 남기고, 여러 조건은 모두 만족하는 줄만 고릅니다.

키 이름에 점을 쓰면 중첩된 값을 따라갑니다. 'req.path=/api/pay'는 req 객체 안의 path 값이 /api/pay인 줄을 찾고, 'ms>=500'처럼 >, >=, <, <=를 쓰면 숫자로 비교하며 !=는 그 값이 아닌 줄을 고릅니다.

'select=ms,req.path'를 추가하면 남은 줄에서 그 키만 뽑아 새 NDJSON으로 만듭니다. 어느 줄에도 없는 키를 적으면 오타일 가능성이 높으므로 결과 대신 키가 없다는 안내를 보여 줍니다.

사용 방법

  1. 'NDJSON' 칸에 한 줄에 JSON 하나씩 있는 데이터를 붙여 넣습니다.
  2. '조건' 칸에 '키=값'이나 '키>=숫자'를 한 줄에 하나씩, 또는 ;로 나눠 적고 필요하면 'select=키1,키2'를 더합니다.
  3. '실행'을 누르면 조건에 맞는 줄만 NDJSON으로 나오고, 맞는 줄이 없으면 몇 줄을 확인했는지 알려 줍니다.

예시: 느린 오류 요청만 골라내기

입력
{"level":"error","ms":1200,"req":{"path":"/api/pay"}}
{"level":"info","ms":80,"req":{"path":"/"}}
{"level":"error","ms":300,"req":{"path":"/api/login"}}
---
level=error
ms>=500
select=ms,req.path
결과
{"ms":1200,"req.path":"/api/pay"}

--- 위는 NDJSON 칸, 아래는 조건 칸에 넣는 내용입니다.

이럴 때 쓰면 좋아요

  • 로그에서 특정 오류 수준이나 응답 시간이 긴 요청만 추려 볼 때
  • 이벤트 내보내기 파일에서 특정 사용자나 국가의 이벤트만 남길 때
  • 큰 레코드에서 분석에 필요한 몇 개 필드만 뽑아 가볍게 만들 때
  • API 응답 로그를 경로별로 나눠 문제를 재현할 줄을 찾을 때

문제가 생겼을 때

'3번째 줄이 올바른 JSON이 아닙니다' 오류

그 줄에 JSON이 여러 줄로 나뉘어 있거나 쉼표가 남아 있는 경우입니다. NDJSON은 한 줄에 완전한 JSON 값 하나만 있어야 합니다.

'level=Error'로 찾았는데 아무것도 안 나옴

= 조건은 대소문자까지 정확히 같아야 합니다. 데이터에 적힌 그대로(error) 입력하세요.

활용 팁

  • true, false, 숫자도 글자로 비교하므로 'active=true'는 불리언 true와 문자열 "true"를 모두 고릅니다.
  • 숫자 비교(>, <)는 값이 숫자로 읽히지 않는 줄을 결과에서 뺍니다. 빈 값이나 "N/A"가 섞인 필드라면 결과 줄 수를 확인하세요.

자주 묻는 질문

OR 조건(이것 또는 저것)도 되나요?

조건은 모두 만족해야 하는 AND로만 묶입니다. OR가 필요하면 조건별로 한 번씩 실행한 결과를 이어 붙이세요.

select로 뽑은 키 이름은 어떻게 나오나요?

적은 그대로 키가 됩니다. req.path를 select하면 {"req.path": …}처럼 점이 들어간 한 단계 키로 나옵니다.

빈 줄이 섞여 있어도 되나요?

됩니다. 빈 줄은 건너뛰고, 오류 메시지의 줄 번호는 빈 줄까지 포함한 원래 줄 번호로 알려 줍니다.