Adventure Time - Finn 3
본문 바로가기
카테고리 없음

Ruby 로그 보기 좋게 출력하기

by hyun9_9 2025. 1. 24.

Ruby로 작업을 하다 보면 복잡한 데이터나 로그를 확인해야 하는 경우가 많습니다. 이때 데이터를 보기 좋게 출력하는 것은 디버깅과 유지보수를 훨씬 더 수월하게 만들어줍니다. 이번 포스팅에서는 Ruby의 기본 기능인 pp와 JSON.pretty_generate를 활용해 로그를 보기 좋게 출력하는 방법을 소개하겠습니다.


1. pp (Pretty Print) 모듈

pp는 Ruby의 표준 라이브러리로, 복잡한 객체나 데이터를 사람이 읽기 쉽게 출력하는 데 유용합니다. JSON 변환 없이 Ruby 객체를 그대로 보기 좋게 출력할 수 있어 간단하고 강력합니다.

사용법

require 'pp'

# 예제 데이터
users = [
  User.new(
    id: 1,
    name: "Alice",
    email: "alice@example.com",
    created_at: Time.new(2025, 1, 16, 10, 0, 0),
    updated_at: Time.new(2025, 1, 20, 14, 0, 0)
  ),
  User.new(
    id: 2,
    name: "Bob",
    email: "bob@example.com",
    created_at: Time.new(2025, 1, 17, 11, 0, 0),
    updated_at: Time.new(2025, 1, 21, 15, 0, 0)
  )
]

# Pretty Print로 출력
pp users

출력 예시

[#<User:0x00007fd9a4de6e00
  id: 1,
  name: "Alice",
  email: "alice@example.com",
  created_at: 2025-01-16 10:00:00 +0900,
  updated_at: 2025-01-20 14:00:00 +0900>,
 #<User:0x00007fd9a5703d58
  id: 2,
  name: "Bob",
  email: "bob@example.com",
  created_at: 2025-01-17 11:00:00 +0900,
  updated_at: 2025-01-21 15:00:00 +0900>]

2. JSON.pretty_generate

Ruby의 JSON.pretty_generate는 JSON 데이터를 보기 좋게 포맷팅하는 데 유용합니다. 특히 API 응답 데이터를 다룰 때나 JSON 포맷을 디버깅할 때 효과적입니다.

사용법

require 'json'

# 예제 데이터
users = [
  {
    id: 1,
    name: "Alice",
    email: "alice@example.com",
    created_at: "2025-01-16 10:00:00",
    updated_at: "2025-01-20 14:00:00"
  },
  {
    id: 2,
    name: "Bob",
    email: "bob@example.com",
    created_at: "2025-01-17 11:00:00",
    updated_at: "2025-01-21 15:00:00"
  }
]

# JSON.pretty_generate로 출력
puts JSON.pretty_generate(users)

출력 예시

[
  {
    "id": 1,
    "name": "Alice",
    "email": "alice@example.com",
    "created_at": "2025-01-16 10:00:00",
    "updated_at": "2025-01-20 14:00:00"
  },
  {
    "id": 2,
    "name": "Bob",
    "email": "bob@example.com",
    "created_at": "2025-01-17 11:00:00",
    "updated_at": "2025-01-21 15:00:00"
  }
]

3. pp와 JSON.pretty_generate의 차이점

기능 pp JSON.pretty_generate

데이터 형식 Ruby 객체 그대로 출력 JSON 형식으로 변환하여 출력
주요 사용 사례 디버깅, Ruby 객체 보기 API 응답 데이터, JSON 디버깅
표준 라이브러리 포함 여부 포함 포함

결론

Ruby에서 데이터를 보기 좋게 출력하려면 상황에 따라 pp와 JSON.pretty_generate를 적절히 사용하세요. Ruby 객체 자체를 디버깅하려면 pp, JSON 데이터를 포맷팅하려면 JSON.pretty_generate가 적합합니다. 이 두 가지 도구를 잘 활용하면 로그 분석과 디버깅의 효율이 크게 향상될 것입니다.