blevels

Home / AI / AI 용어사전 / 로깅(Logging) — AI 시스템 오류를 추적·기록하는 개발자의 눈

TERM

로깅(Logging) — AI 시스템 오류를 추적·기록하는 개발자의 눈

게시일 2026-04-30수정일 2026-04-30
공식 링크
On this page

로그(Log)는 시스템이 실행되는 과정에서 발생하는 이벤트, 오류, 상태 변화를 시간 순으로 기록한 데이터다. 로깅(Logging)은 이 로그를 생성하고 저장하는 행위 전체를 가리킨다. AI 시스템이 복잡해질수록 로깅은 '있으면 좋은 것'이 아닌 운영의 필수 기반이 된다.

정의

로깅(Logging)은 소프트웨어 실행 중 발생하는 이벤트를 시간·내용·심각도(level)와 함께 기록하는 작업이다. 영문 원어 'Log'는 항해 일지에서 유래했으며, 현대 개발에서는 애플리케이션의 행동 기록을 의미한다. 장애가 발생했을 때 "무슨 일이, 언제, 왜 일어났는가"를 추적하는 가장 기본적인 수단이다.

로그 레벨 — DEBUG부터 CRITICAL까지

로깅 라이브러리는 심각도에 따라 로그를 분류한다. Python 표준 라이브러리 logging 기준으로 5단계가 있다.

| 레벨 | 용도 | |---|---| | DEBUG | 개발 중 세부 변수 추적 | | INFO | 정상 작동 흐름 기록 | | WARNING | 오류는 아니지만 주의가 필요한 상황 | | ERROR | 기능 일부 실패, 복구 가능 | | CRITICAL | 시스템 전체가 멈출 수 있는 심각한 오류 |

운영 환경에서는 보통 INFO 이상만 출력하고, 개발 환경에서는 DEBUG까지 출력한다. 레벨을 잘못 설정하면 운영 로그에 디버그 노이즈가 넘쳐나거나, 반대로 중요한 경고를 놓치게 된다.

import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s %(levelname)s %(message)s'
)

def run_ai_inference(input_text):
    logging.info(f"추론 시작: input_length={len(input_text)}")
    try:
        result = model.predict(input_text)
        logging.info(f"추론 완료: result_length={len(result)}")
        return result
    except Exception as e:
        logging.error(f"추론 실패: {e}")
        raise
AD

AI 파이프라인에서의 로깅 활용

AI 시스템은 데이터 수집 → 전처리 → 모델 추론 → 후처리 → 발행의 파이프라인으로 구성된다. 각 단계에서 로그를 남기면 어느 단계에서 오류가 발생했는지 즉시 추적할 수 있다.

  • 데이터 수집: 외부 API 응답 코드, 수집된 레코드 수
  • 전처리: 필터링된 항목 수, 유효하지 않은 형식 건수
  • 모델 추론: 입력 토큰 수, 응답 시간, 오류 코드
  • 발행: 성공/실패 여부, 발행된 URL

구조화 로그(Structured Logging)를 사용하면 JSON 형식으로 기록해 Datadog, CloudWatch 같은 로그 집계 도구에서 필터링과 알림 설정이 쉬워진다.

import json, logging

def structured_log(level, event, **kwargs):
    record = {"event": event, **kwargs}
    logging.log(level, json.dumps(record, ensure_ascii=False))

structured_log(logging.INFO, "notion_publish_success", page_id="abc123", title="로깅 가이드")
# {"event": "notion_publish_success", "page_id": "abc123", "title": "로깅 가이드"}

로깅과 모니터링의 차이

로깅은 과거 사건을 기록하는 행위고, 모니터링(monitoring)은 현재 시스템 상태를 실시간으로 추적하는 행위다. 로그는 모니터링의 원천 데이터가 된다. 장애 발생 후 원인을 분석하려면 로그가 필요하고, 장애를 사전에 감지하려면 모니터링이 필요하다. 두 개념은 보완 관계로, 실전 운영에서는 함께 사용한다.

관련 용어

  • debugging — 오류 원인을 찾아 수정하는 과정
  • monitoring — 실시간 시스템 상태 추적
  • exception — 실행 중 발생하는 예외 상황
  • pipeline — 여러 처리 단계를 연결한 자동화 흐름
  • structured-logging — JSON 등 파싱 가능한 형식으로 로그를 기록하는 방식
AD