NDJSON 필터·매핑 도구
브라우저 처리한 줄에 JSON 하나씩 담긴 NDJSON 로그에서 조건에 맞는 줄만 고르고, select로 필요한 키만 남깁니다. user.city 같은 점 경로와 >, <= 숫자 비교를 쓸 수 있습니다.
- 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
서버 로그, 이벤트 내보내기, 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으로 만듭니다. 어느 줄에도 없는 키를 적으면 오타일 가능성이 높으므로 결과 대신 키가 없다는 안내를 보여 줍니다.
사용 방법
- 'NDJSON' 칸에 한 줄에 JSON 하나씩 있는 데이터를 붙여 넣습니다.
- '조건' 칸에 '키=값'이나 '키>=숫자'를 한 줄에 하나씩, 또는 ;로 나눠 적고 필요하면 'select=키1,키2'를 더합니다.
- '실행'을 누르면 조건에 맞는 줄만 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 응답 로그를 경로별로 나눠 문제를 재현할 줄을 찾을 때
문제가 생겼을 때
그 줄에 JSON이 여러 줄로 나뉘어 있거나 쉼표가 남아 있는 경우입니다. NDJSON은 한 줄에 완전한 JSON 값 하나만 있어야 합니다.
= 조건은 대소문자까지 정확히 같아야 합니다. 데이터에 적힌 그대로(error) 입력하세요.
활용 팁
- true, false, 숫자도 글자로 비교하므로 'active=true'는 불리언 true와 문자열 "true"를 모두 고릅니다.
- 숫자 비교(>, <)는 값이 숫자로 읽히지 않는 줄을 결과에서 뺍니다. 빈 값이나 "N/A"가 섞인 필드라면 결과 줄 수를 확인하세요.
자주 묻는 질문
조건은 모두 만족해야 하는 AND로만 묶입니다. OR가 필요하면 조건별로 한 번씩 실행한 결과를 이어 붙이세요.
적은 그대로 키가 됩니다. req.path를 select하면 {"req.path": …}처럼 점이 들어간 한 단계 키로 나옵니다.
됩니다. 빈 줄은 건너뛰고, 오류 메시지의 줄 번호는 빈 줄까지 포함한 원래 줄 번호로 알려 줍니다.