로그 및 관측성 도구

스택 트레이스 정리JavaScript, Python, Java, Go, C#, Rust 지원

스택 트레이스를 붙여넣으면 언어가 자동으로 감지됩니다(직접 선택도 가능). 서드파티 프레임워크 프레임은 접어서 내 코드만 볼 수 있습니다.

스택 트레이스 정리

예시:
언어

스택 트레이스

모든 처리는 브라우저에서 로컬로 이루어집니다. 스택 트레이스는 업로드되지 않습니다.

프레임

입력 중… 자동으로 분석됩니다

터미널에 쏟아지는 원본 스택 트레이스는 거의 똑같이 생긴 "at ..." 또는 "File ..." 줄의 벽이고, 정작 내 코드를 가리키는 한 줄은 프레임워크 내부 호출 한가운데 묻혀 있기 마련입니다. 스택 트레이스 정리라고 부르든, 스택트레이스 포맷터나 스택 트레이스 분석이라고 부르든 하는 일은 같습니다. 그 글자의 벽을 한눈에 훑을 수 있는 프레임 목록으로 바꾸는 것입니다.

브라우저 콘솔, CI 로그, 크래시 리포트, 동료가 보낸 에러 로그 스택트레이스처럼 실제 에러를 마주한 순간 바로 쓰기 좋습니다. "Caused by:" 단계를 손으로 세거나 node_modules 프레임을 수십 줄 넘기며 내 코드를 찾지 않아도, 호출 체인과 정확한 파일·줄 번호, 그리고 근본 원인을 바로 알 수 있습니다. 모든 처리는 브라우저 탭 안에서만 이루어지고, 붙여넣은 내용은 어디에도 업로드되지 않습니다.

이 스택 트레이스 정리 도구를 쓰는 이유

하나의 범용 패턴을 억지로 맞추는 대신, 실제로 쓰이는 6가지 형식을 위해 만들었습니다.

자동 감지, 그래도 직접 바꿀 수 있음

붙여넣으면 프레임 자체의 문법을 분석해 보통 언어가 정확히 판별되므로 드롭다운을 건드릴 일이 거의 없습니다. 형식이 섞여 있거나 감지가 틀렸을 때는 JavaScript/Node, Python, Java/Kotlin, Go, C#/.NET, Rust 여섯 언어를 클릭 한 번으로 직접 지정할 수 있어, 고칠 수 없는 추측 결과에 갇히는 일이 없습니다.

언어 드롭다운이 자동 감지에서 수동 선택으로 바뀌며 같은 트레이스가 다시 분석되는 모습

Caused by 체인을 별도 블록으로 표시

Caused by 체인이 있는 Java 예외나 "During handling of..."로 이어진 Python 트레이스백은 순서대로 라벨이 붙은 독립된 블록으로 나뉘어, 맨 아래의 근본 원인도 맨 위의 바깥 예외만큼 쉽게 찾을 수 있습니다 — 구분되지 않는 긴 프레임 목록을 훑을 필요가 없습니다.

Java 스택 트레이스가 두 블록으로 나뉘고 Caused by 라벨로 이어지며 근본 원인이 마지막에 표시된 모습

프레임워크 노이즈를 한 줄로 접기

프레임워크 프레임 접기를 켜면 연속된 node_modules, site-packages, org.springframework 같은 프레임이 "N개 프레임 접힘" 한 줄로 묶여 내 코드가 먼저 눈에 들어옵니다 — 접힌 그룹은 클릭 한 번으로 다시 펼칠 수 있습니다.

연속된 node_modules 프레임이 하나의 요약 줄로 접히고 그 위에 사용자 자신의 프레임이 표시된 모습

이 프레임 목록이 자동으로 해주는 세 가지

트레이스를 분석하고, 필요 없는 프레임을 접고, 필요한 부분만 복사합니다.

01

지원하는 6가지 형식 중 아무거나 붙여넣기

원본 JavaScript/Node, Python, Java/Kotlin, Go, C#, Rust 스택 트레이스를 미리 다듬을 필요 없이 그대로 붙여넣으세요. 입력을 멈춘 뒤 약 350밀리초 후 자동으로 분석됩니다. 자동 분석을 끄면 버튼 클릭이나 Ctrl/Cmd+Enter로 직접 실행하는 방식으로 바뀝니다.

  • 내장된 예시 세 가지를 불러오면 직접 입력하지 않아도 Caused by 체인, Python 트레이스백, node_modules 노이즈가 어떻게 보이는지 확인할 수 있습니다
  • 알려진 형식과 일치하지 않는 줄은 그대로 남아 "인식 안 됨"으로 표시되고, 전체 분석이 실패하지는 않습니다
02

보지 않아도 되는 프레임 접기

프레임워크 프레임 접기를 켜면 감지된 언어에 따라 node_modules, site-packages, java./org.springframework., runtime., std::/core::, System. 등이 연속되는 구간이 "{count}개 프레임 접힘" 한 줄로 묶입니다. 토글을 바꿔도 다시 분석하지 않고 같은 결과를 즉시 재구성할 뿐입니다.

  • 내 코드 사이에 끼어 있는 프레임워크 프레임이 하나뿐이면 접히지 않습니다 — 두 개 이상 연속될 때만 묶입니다
  • 접힌 각 그룹은 전체 토글을 끄지 않아도 클릭 한 번으로 따로 펼칠 수 있습니다
03

필요한 부분만 정확히 복사

인식된 프레임의 file:line을 클릭하면 그 위치만 복사됩니다 — 에디터에서 바로 그 줄로 이동할 때 유용합니다. 결과 패널의 복사와 다운로드는 해당 언어다운 형식으로 다시 정리한 트레이스 전체를 일반 텍스트로 내보내며, 입력이나 옵션을 바꾸는 순간 두 버튼 모두 비활성화되어 오래된 결과를 복사할 일이 없습니다.

  • 각 블록 위쪽에는 그 블록의 예외 타입과 메시지가 강조 표시되며, 각 Caused by 원인도 포함됩니다
스택 트레이스 정리 써보기

이 프레임 목록이 원본 텍스트보다 나은 점

실제로 쓰이는 6가지 스택 트레이스 형식을 위한 구조화된 필드, 체인 감지, 노이즈 접기.

6개 언어 프레임 인식

JavaScript/Node, Python, Java/Kotlin, Go, C#/.NET, Rust는 각자 고유한 프레임 문법을 가지고 있어, 형식이 제공하는 범위 안에서 함수 이름·파일·줄·열로 나뉩니다. 이 스택 트레이스 정리 도구가 런타임 자체의 출력처럼 읽히는 이유입니다.

Caused by와 traceback 체인

Java의 Caused by: 체인과 Python의 다단계 traceback은 순서대로 독립된 블록으로 감지되며 근본 원인도 포함됩니다 — 들여쓰기 단계를 눈으로 셀 필요가 없습니다.

프레임워크 노이즈 접기 가능

node_modules, site-packages, java./org.springframework. 같은 프레임워크 네임스페이스는 언어별 규칙에 따라 한 줄 요약으로 접히고, 어떤 그룹이든 클릭 한 번으로 다시 펼칠 수 있습니다.

프레임별 file:line 복사

인식된 각 프레임에는 전용 복사 버튼이 있어 그 프레임의 파일과 줄만 복사할 수 있습니다. 트레이스 전체 복사와는 별개입니다.

인식되지 않은 줄도 그대로 표시

선택한 언어 문법과 일치하지 않는 줄은 버려지지 않고 그대로 남아 "인식 안 됨"으로 표시됩니다. 전체 분석이 실패하지도 않습니다.

이 도구가 하는 일, 하지 않는 일

뭉뚱그린 면책 조항이 아니라 실제 동작과 한계입니다.

심볼화나 소스맵 역변환은 하지 않습니다
난독화된 함수 이름과 압축된 파일 경로는 붙여넣은 그대로 표시됩니다. 원래 소스 위치로 되돌리려면 해당 소스맵이나 디버그 심볼이 필요한데, 이 스택 트레이스 정리 도구는 파일을 업로드하거나 가져오지 않습니다.
텍스트 스택 트레이스만 지원, 바이너리 덤프는 지원하지 않습니다
코어 덤프, 미니덤프 같은 바이너리 크래시 산출물은 받지 않습니다. 런타임이나 크래시 리포터가 이미 출력한 텍스트 스택 트레이스를 붙여넣으세요.
지원하는 6개 언어만, 무제한 추측은 하지 않습니다
인식되는 것은 JavaScript/Node, Python, Java/Kotlin, Go, C#/.NET, Rust의 프레임 문법뿐입니다. Ruby, PHP, C/C++, Swift 트레이스는 대부분 "인식 안 됨"으로 표시될 뿐, 잘못된 형식에 억지로 끼워 맞춰지지 않습니다.
복사와 다운로드는 항상 일반 텍스트입니다
다시 정리한 결과는 Markdown 코드 펜스로 감싸지지 않습니다 — 일부 경쟁 도구는 그렇게 하지만 — 일반 텍스트 그대로라 터미널, 에디터, 티켓에 깔끔하게 붙여넣을 수 있습니다.

스택 트레이스 정리 자주 묻는 질문

실제 에러를 온라인 도구에 붙여넣기 전에 흔히 하는 질문들입니다.

스택 트레이스를 온라인 도구에 붙여넣어도 안전한가요?

안전합니다 — 이 도구는 현재 브라우저 탭 안의 JavaScript로만 모든 분석을 처리합니다. 프레임에 담긴 로컬 파일 경로나 사용자 이름을 포함해, 붙여넣은 내용이 업로드되거나 기록되거나 서버로 전송되는 일은 없습니다.

스택 트레이스에서 node_modules 프레임을 숨기려면 어떻게 하나요?

툴바의 프레임워크 프레임 접기를 켜세요. 연속된 node_modules(또는 site-packages, java./org.springframework. 등) 프레임이 한 줄로 묶이고, 그 줄을 클릭하면 다시 펼쳐집니다.

이 스택 트레이스 정리 도구는 Java, Python, JavaScript를 지원하나요?

지원합니다. 여기에 Go, C#/.NET, Rust까지 합쳐 총 6개 언어입니다. 자동 감지는 보통 프레임 문법만으로 올바른 언어를 판별하며, 드롭다운에서 직접 지정할 수도 있습니다.

스택 트레이스와 traceback, backtrace는 어떻게 다른가요?

생태계마다 부르는 이름이 다를 뿐 개념은 같습니다 — Python은 traceback, C와 Ruby는 흔히 backtrace라고 부르고, JavaScript, Java, C#, Go, Rust는 보통 스택 트레이스라고 부릅니다. 이 도구는 이 모두를 인식하므로 익숙한 용어 그대로 생각해도 됩니다.

공유하기 전에 파일 경로나 사용자 이름을 자동으로 지워 주나요?

아니요 — 경로 등 세부 정보는 붙여넣은 그대로 표시되며 자동으로 지워지지 않습니다. 애초에 브라우저 밖으로 아무것도 전송되지 않으니, 공개 버그 트래커처럼 덜 사적인 곳에 붙여넣기 전에는 직접 내용을 확인하세요.

예외뿐 아니라 Go 패닉이나 Rust 백트레이스도 지원하나요?

지원합니다. Go의 goroutine 덤프(함수 이름 줄과 탭으로 들여쓴 file:line 쌍)와 Rust의 RUST_BACKTRACE=1 번호가 매겨진 프레임 출력 모두, runtime.이나 std::/core:: 같은 고유한 프레임워크 프레임 패턴을 포함해 예외 형식 언어와 동일한 방식으로 분석됩니다.

이 도구가 제대로 분석하지 못하는 실제 트레이스를 발견했나요?

지금 스택 트레이스 정리 시작하기

JavaScript, Python, Java, Go, C#, Rust 스택 트레이스를 붙여넣기만 하면 1초도 안 되어 읽기 쉬운 프레임 목록을 얻을 수 있습니다 — 업로드도, 계정 가입도 필요 없습니다.

터미널이나 받은 편지함에 다음 에러가 나타날 때를 위해 이 무료 스택 트레이스 정리 도구를 즐겨찾기에 추가해 두세요.

모든 분석은 브라우저에서 로컬로 처리됩니다.