본문으로 건너뛰기
← 가이드 목록

로그 보는 법 — 에러 원인 찾기

프로그램이 꺼지거나 이상하게 동작할 때, 원인은 거의 항상 로그에 적혀 있습니다. 실행 방법에 따라 로그를 보는 곳이 다르니, 내 프로그램을 어떻게 실행했는지에 맞춰 보세요.

로그 읽는 요령

  • 맨 아래부터 봅니다. 가장 최근 기록이 아래에 있습니다.
  • Error, Exception, Traceback, failed, denied 같은 단어를 찾습니다.
  • 에러가 여러 줄이라면 처음 나온 에러가 진짜 원인인 경우가 많습니다.
  • 에러 문장을 그대로 복사해 검색하면 대부분 해결 방법이 나옵니다.

pm2로 실행한 프로그램 (Node.js 봇·앱)

pm2 logs my-bot               # 실시간 로그 (Ctrl + C로 나가기)
pm2 logs my-bot --lines 200   # 최근 200줄
pm2 logs my-bot --err         # 에러만

systemd로 실행한 프로그램 (Python 봇·앱 등)

journalctl -u my-bot -f                    # 실시간 로그
journalctl -u my-bot -n 100 --no-pager     # 최근 100줄
journalctl -u my-bot --since "1 hour ago"  # 최근 1시간
sudo systemctl status my-bot               # 실행 상태와 마지막 로그 몇 줄

Docker 컨테이너

docker ps -a                   # 컨테이너 목록 (꺼진 것 포함, STATUS 확인)
docker logs --tail 100 이름     # 최근 100줄
docker logs -f 이름             # 실시간 로그

screen·tmux 안에서 실행한 프로그램

프로그램이 화면에 직접 출력하므로 창에 다시 들어가서 봅니다. (screen -r 이름, tmux attach -t 이름) 마인크래프트 서버는 서버 폴더의 logs/latest.log에도 기록됩니다.

tail -n 100 ~/minecraft/logs/latest.log

Nginx (웹사이트)

sudo tail -n 50 /var/log/nginx/error.log    # 에러 (502, 권한 문제 등)
sudo tail -f /var/log/nginx/access.log      # 실시간 접속 기록

시스템 전체

journalctl -p err -b --no-pager | tail -n 50     # 이번 부팅 이후의 에러
sudo dmesg | grep -i "out of memory"            # 메모리 부족으로 강제 종료된 기록
journalctl --list-boots | tail -n 5             # 최근 재부팅 기록

메모리 부족 기록이 있다면 메모리가 부족할 때를 참고하세요.

Windows 서버

  • 직접 실행한 프로그램은 콘솔 창에 출력되는 내용을 확인합니다. 창이 바로 닫혀서 못 본다면 .bat 파일 마지막 줄에 pause를 넣으세요.
  • 시스템 기록은 시작 메뉴 → 이벤트 뷰어 → Windows 로그 → 응용 프로그램 / 시스템에서 볼 수 있습니다.

문의할 때

기술지원에 문의할 때 로그의 에러 부분을 함께 보내주시면 훨씬 빨리 도와드릴 수 있습니다. 단, 로그에 토큰·비밀번호가 찍혀 있다면 지우고 보내주세요.

해결되지 않는 문제가 있다면 고객센터로 문의해주세요.