주니어 개발자를 위한 로그 기본

이건우·2025년 3월 27일

웹 프로그래밍

목록 보기
35/43

서버 로그란 무엇인가??

서버에서 발생하는 주요 이벤트, 동작, 예외 등의 정보를 기록한 텍스트 데이터로,
쉽게 말하자면 서버에서 무슨 일이 일어나고 있는 지를 기록한 보고서 입니다!

왜 로그가 필요한가?

서버에서 일어나는 세세한 일들은 너무 많아서 보고도 무슨 말인지 전부 다 파악하기는
힘들지만! 보다보면 중요하고 지금 필요한 정보를 얻을 수 있습니다.

🐞디버깅 - 코드 오류나 예외 상황 추적
📈모니터링 - 서버 상태 확인, 요청 처리 시간 파악 등
🛡️보안 - 의심스러운 요청 기록, 인증 실패, 접근 로그 등
🧾감사 - 사용자의 행위 기록, 변경 이력 추적 등

로그의 종류

로그가 왜 필요한지는 알았지만? 그래서 어떤 종류의 로그가 있을까요?

  • Access Log - 사용자가 언제 어떤 경로로 접근했는지 기록 (주로 웹서버, nginx)
  • Application Log - 애플리케이션 내부 동작, 로직 흐름, 예외 발생 등
  • Error Log - 예외, 오류, 실패 상황의 상세 내역
  • Security Log - 로그인, 권한 체크, 인증 실패 등

로그의 레벨(Level)

로그의 종류를 알았으면 그런 로그들이 얼마나 자세하게,
어떤부분을 보여 줄 지를 설정을 해봐야겠죠?

  • TRACE : 아주 상세한 내부 처리 기록 (디버깅용)
  • DEBUG : 개발자가 흐름을 파악할 수 있는 정보
  • INFO : 정상적인 상태 변화 기록 (서버 시작, 종료 등)
  • WARN : 경고. 작동은 되지만 문제 가능성 있음
  • ERROR : 오류 발생. 예외 처리, 실패한 요청 등
  • FATAL : 치명적인 오류. 시스템 중단 가능 수준

로그 관리 도구

이제 실제 로그를 사용 해 볼까요?
로그를 출력해주는 기본 도구들과 주요 특징들을 소개합니다!

도구/스택설명주요 특징
Logback / Log4jJava 기반 로그 기록 라이브러리- 다양한 로그 레벨 지원
- 파일, 콘솔, DB 등 다양한 출력 대상 설정 가능
- Spring Boot와 기본 통합됨
ELK StackElasticsearch + Logstash + Kibana 로 구성된 로그 분석 스택- 대용량 로그 수집 및 검색
- Kibana로 시각화 가능
- 복잡한 로그 파이프라인 구성 가능
Sentry / Datadog실시간 에러 모니터링 및 알림 도구- 예외 발생 시 실시간 추적
- 알림 기능 (Slack, Email 등과 연동)
- 트레이스 및 사용자 정보 포함

서버에서는 Log4j를 많이 사용하지만, 상황이나 필요에 따라서
다른 도구들을 이용하여 여러 상황을 대비하고 해결 할 수 있습니다!

로그 = 개발과 운영에 필수!!

profile
새싹개발자

0개의 댓글