로그 및 관측성 도구

로그 뷰어JSON, logfmt, Kubernetes, Docker 로그 지원

로그 파일을 붙여넣거나 열고 “포맷”을 클릭하면, 레벨별 필터링·키워드 검색·타임스탬프 표시 전환이 이미 포맷된 결과에 즉시 반영됩니다.

로그 뷰어

예시:
포맷 프리셋타임스탬프
레벨

로그 텍스트

모든 처리는 브라우저 안에서 이루어집니다. 붙여넣거나 연 내용은 업로드되지 않습니다.

포맷 결과

로그를 포맷하면 여기에 결과 표가 표시됩니다.

로그를 붙여넣거나 예시를 불러온 뒤 “포맷”을 클릭하세요.

grep 한 번이면 일치하는 몇 줄은 찾을 수 있지만, 지원 티켓에 구조화된 JSON 이벤트와 미들웨어가 남긴 logfmt 한 줄, 그리고 Kubernetes 컨테이너에서 복사한 stdout이 뒤섞여 있다면 이야기가 달라집니다. 어떤 줄이 에러인지, 깨진 Unix 타임스탬프가 정확히 몇 시를 가리키는지, 어떤 요청이 같은 사용자 ID에 속하는지 눈으로 가려내는 일은 느리고 실수하기도 쉽습니다.

이 로그 뷰어는 클립보드에 여러 형식이 뒤섞인 로그가 들어 있는 바로 그 순간을 위한 도구입니다. 각 줄의 형태를 스스로 판단하고, 가능한 한 레벨과 메시지 본문을 추출하며, 범위를 좁히기 위해 무언가를 다시 실행할 필요가 없습니다. 실시간 로그 파이프라인을 지켜보는 진짜 수집 시스템을 대체하지는 않습니다——이 도구가 다루는 것은 붙여넣거나 로컬 파일에서 연 정적인 텍스트 덩어리이며, 지금 열려 있는 이 브라우저 탭 안에서 한 번 처리됩니다. 이런 도구를 로그 뷰어라고도 부르지만, 로그 포맷터나 온라인 로그 분석 도구라고 부르는 사람도 있습니다——이름은 달라도 붙여넣은 텍스트를 읽기 쉬운 표로 바꾼다는 목적은 같습니다.

이 로그 뷰어를 쓰는 이유

한 가지 형식이 아니라, 한 번의 붙여넣기에 뒤섞인 로그를 위해 만들어졌습니다.

한 번의 붙여넣기, 다섯 가지 형태를 줄 단위로 인식

JSON 이벤트, logfmt의 key=value, Kubernetes 컨테이너의 CRI 형식 stdout, Docker json-file 드라이버의 한 줄짜리 JSON, 그리고 일반 텍스트가 한 번의 붙여넣기 안에 섞여 있어도 “자동 감지”가 각 줄을 독립적으로 판단하므로 전체를 하나의 형식으로 강제 해석하지 않습니다. 어떤 알려진 형태와도 일치하지 않는 줄도 일반 텍스트로 표시될 뿐, 사라지지 않습니다.

JSON, logfmt, Kubernetes, Docker 로그 줄이 섞인 붙여넣기 내용에서 각 줄에 감지된 포맷이 표시된 모습

필터, 검색, 타임스탬프 표시가 즉시 반영

새로 붙여넣은 내용을 포맷하려면 “포맷” 버튼(또는 Ctrl/Cmd+Enter)을 명시적으로 눌러야 하지만, 표가 만들어진 뒤에는 레벨 체크박스를 켜고 끄거나, 검색어를 입력하거나, 타임스탬프 표시를 원본·현지 시간·UTC·상대 시간 사이에서 전환하는 작업이 모두 이미 포맷된 행에 대해 즉시 다시 계산됩니다——이를 위해 “포맷”을 다시 누를 필요는 없습니다.

결과 표에서 레벨 체크박스를 전환하고 검색어를 입력하자 포맷 버튼을 누르지 않고도 표시되는 행이 즉시 바뀌는 모습

뒤섞인 붙여넣기에서 신뢰할 수 있는 표까지

세 단계, 그리고 각 단계에서 실제로 일어나는 일.

01

붙여넣거나, 파일을 열거나, 혼합 예시를 불러오기

로그 텍스트를 직접 붙여넣거나, “파일 열기”를 클릭해 브라우저의 파일 읽기 기능으로 로컬 .log/.txt/.json 파일을 읽을 수 있습니다——이 파일은 어디에도 업로드되지 않습니다. 포맷 프리셋은 기본값이 “자동 감지”라서 대부분의 경우 직접 형식을 고를 필요가 없지만, 전체가 logfmt라는 것을 이미 알고 있다면 해당 프리셋을 강제로 선택해 줄 단위 판단 과정 자체를 건너뛸 수 있습니다.

  • Ctrl/Cmd+Enter를 누르면 마우스를 쓰지 않고도 포맷을 실행할 수 있습니다
02

“포맷”을 클릭하고 결과 표 읽기

입력하는 동안 자동으로 포맷이 실행되지는 않습니다——키를 하나 누를 때마다 모든 줄의 형태를 다시 판단하는 것은 불필요한 작업이기 때문입니다. “포맷”을 한 번 클릭하면(또는 단축키를 사용하면) 비어 있지 않은 모든 줄이 표의 한 행이 됩니다. 어떤 행의 “필드” 버튼을 클릭하면 JSON 객체의 키나 logfmt 쌍처럼 실제로 추출된 내용을 확인할 수 있습니다.

  • 알려진 어떤 형태와도 일치하지 않는 줄도 포맷이 “text”인 행을 얻습니다——조용히 버려지거나 에러로 처리되지 않습니다
03

다시 포맷하지 않고 필터링·검색·내보내기

레벨 체크박스는 기본적으로 모두 켜져 있어서 직접 끄기 전까지는 아무것도 숨겨지지 않습니다. 레벨을 확신 있게 감지하지 못한 줄은 어떤 체크박스 상태든 관계없이 항상 표시됩니다——분류할 수 없는 내용을 조용히 걸러내는 것은 추측일 뿐 진짜 필터가 아니기 때문입니다. 검색은 정규식으로 전환할 수 있고, 타임스탬프 열은 원본·현지 시간·UTC·상대 시간 사이에서 전환할 수 있지만 어느 쪽도 붙여넣은 텍스트 자체를 건드리지 않습니다. 복사나 다운로드는 현재 필터링된 행만 정확히 일반 텍스트 또는 파싱된 epoch 값을 포함한 구조화된 JSON으로 내보냅니다.

  • 레벨 필터, 검색, 타임스탬프 표시를 전환해도 표가 흐려지지 않습니다——실제로 다시 포맷해야 하는 입력 내용이나 포맷 프리셋 변경 때만 흐려집니다
로그 뷰어로 이동

원본 텍스트보다 이 표가 더 주는 것

전용 파서를 만들어 두지 않은 붙여넣기 내용을 위한 감지, 필터링, 내보내기.

붙여넣기 전체가 아니라 줄마다 다섯 가지 형식 감지

JSON, logfmt, Kubernetes CRI, Docker json-file, 일반 텍스트를 각 줄마다 독립적으로 판단하므로, 여러 출처가 섞인 붙여넣기라도 먼저 수동으로 나누지 않고 하나의 일관된 표를 얻을 수 있습니다.

레벨 필터와 키워드/정규식 검색

심각도와 검색어로 동시에 표를 좁힐 수 있고, 정규식으로 전환하는 옵션도 있습니다. 모두 이미 포맷된 행에서 즉시 다시 계산되며 감지 과정을 다시 실행하지 않습니다.

네 가지 타임스탬프 표시, 언제나 비파괴적

타임스탬프 열을 붙여넣은 원본 텍스트, 현지 시간, UTC, “3분 전” 같은 상대 표현 사이에서 전환할 수 있습니다——바뀌는 것은 이 열이 보이는 방식뿐이며, 입력창의 원본 텍스트는 그대로입니다.

줄마다 필드 패널과 두 가지 내보내기 형식

어떤 행이든 펼치면 감지기가 추출한 모든 필드——JSON 객체의 키, logfmt 쌍, Kubernetes의 stream과 tag 등——를 확인할 수 있습니다. 현재 필터링된 행을 일반 텍스트나 파싱된 epoch 타임스탬프가 포함된 구조화된 JSON으로 내보낼 수 있습니다.

이 도구가 의도적으로 하지 않는 것

마케팅 문구가 아니라 실제 제약입니다.

Kubernetes와 Docker는 포맷 프리셋일 뿐, 실제 연결이 아닙니다
Kubernetes 또는 Docker 포맷 프리셋을 선택해도 감지기에 어떤 줄 형태(CRI 형식의 stdout, 또는 json-file 드라이버의 한 줄)를 기대할지 알려줄 뿐입니다. 실제 Kubernetes API 서버나 Docker 데몬에 연결해 실시간 로그를 가져오는 일은 절대 없으며, 이 도구는 어떤 네트워크 요청도 보내지 않습니다.
레벨이 감지되지 않은 줄은 레벨 필터로 절대 숨겨지지 않습니다
감지기가 어떤 줄에서 레벨을 확신 있게 추출하지 못했다면, 어떤 레벨 체크박스가 켜져 있든 꺼져 있든 그 줄은 항상 표시됩니다——분류할 수 없는 내용을 걸러내는 것은 근거 없는 추측이지 진짜 필터가 아니기 때문입니다.
타임스탬프 표시는 입력을 다시 쓰지 않습니다
원본·현지 시간·UTC·상대 시간 전환은 “타임스탬프” 열이 감지된 값을 어떻게 렌더링할지만 바꿀 뿐입니다. 입력창의 텍스트는 건드리지 않습니다. 타임스탬프만 따로 일괄 변환하고 싶다면 사이트 내 전용 Unix 타임스탬프 변환기를 사용하세요.
한 번의 붙여넣기는 약 30만 자·2만 줄, 파일은 2MB가 상한입니다
이 상한은 브라우저 탭 안에서 포맷을 빠르고 예측 가능하게 유지하기 위한 것입니다. 둘 중 하나라도 초과하면 로그를 조용히 잘라내는 대신 명확한 오류와 함께 전체 실행을 거부하므로, 무엇이 포맷되었는지 항상 정확히 알 수 있습니다.

로그 뷰어 자주 묻는 질문

로그를 온라인 도구에 붙여넣기 전에 많은 사람이 묻는 질문입니다.

가입 없이 무료로 쓸 수 있는 JSON 로그 뷰어가 있나요?

있습니다. 로그를 붙여넣거나 열고 “포맷”을 클릭하면 이 로그 뷰어가 즉시 표를 보여줍니다——가입, 설치, 업로드가 전혀 필요 없고, 지금 열려 있는 브라우저 탭에서 JavaScript로 동작합니다.

로그 파일을 온라인 도구에 붙여넣어도 안전한가요?

붙여넣거나 연 내용은 어디로도 전송되지 않습니다. 포맷, 필터링, 검색, 내보내기는 모두 브라우저 안에서 로컬로 처리되며, 서버로의 업로드, 저장, 기록이 전혀 없습니다. 실제 로그에는 사용자 ID나 IP 주소 같은 민감한 정보가 자주 포함되기 때문에 이 점이 중요합니다.

logfmt과 JSON 로그 형식의 차이는 무엇인가요?

logfmt은 한 줄 안에 key=value를 평평하게 나열하는 형식으로(level=info msg="done" duration=12ms), 사람이 읽기 쉽고 grep하기도 좋게 설계되었습니다. JSON 로그는 한 줄에 JSON 객체 하나로, 구조가 더 명확하고 프로그램으로 파싱하기 쉽지만 눈으로 훑어보기는 더 어렵습니다. 이 로그 뷰어는 두 형식 모두에서 자동으로 필드를 감지하고 추출하므로 미리 파서를 고를 필요가 없습니다.

로그 타임스탬프를 읽기 쉬운 날짜로 변환하려면?

포맷한 뒤 “타임스탬프” 드롭다운을 현지 시간, UTC, 상대 시간으로 전환하면 각 행에서 감지된 타임스탬프가 그 형식으로 다시 표시됩니다——입력창의 원본 텍스트는 바뀌지 않습니다. 로그와 상관없이 타임스탬프 하나만 변환하고 싶다면 사이트 내 전용 Unix 타임스탬프 변환기를 사용하세요.

이 도구가 제 Kubernetes 클러스터에 연결되나요?

“Kubernetes 컨테이너 로그” 프리셋은 이미 복사해 온 텍스트에서 어떤 줄 형태를 기대할지 이 로그 뷰어에 알려줄 뿐입니다——실제 연결이 아니고, 자격 증명도 필요 없으며, 네트워크 요청도 전혀 발생하지 않습니다. 실행 중인 클러스터를 실시간으로 tail하려면 별도의 연결형 도구가 필요합니다.

키워드로 로그를 온라인에서 필터링하려면?

검색창에 키워드를 입력하면 “포맷”을 다시 실행하지 않고도 표가 즉시 해당 키워드를 포함한 행으로 좁혀집니다. 옆의 “정규식” 스위치를 켜면 단순 부분 일치 대신 정규식으로 검색할 수 있고, 레벨 체크박스와 함께 사용하면 두 기준으로 동시에 좁힐 수 있습니다.

이 도구가 실제 로그 줄을 잘못 처리했나요?

지금 이 로그 뷰어를 사용해 보세요

JSON, logfmt, Kubernetes, Docker가 뒤섞인 로그를 붙여넣으면 몇 초 안에 필터링하고 내보낼 수 있는 표를 얻습니다——업로드도, 가입도 필요 없습니다.

이 무료 로그 뷰어를 북마크해 두면 다음에 지원 티켓이나 터미널에서 읽기 힘든 뒤섞인 로그가 나왔을 때 바로 사용할 수 있습니다.

모든 포맷은 브라우저 안에서 로컬로 처리됩니다.