π§ μμ±μ€
πͺ νκ³μ
μ΄ν리μΌμ΄μ μ λ€μμ μ»΄ν¬λνΈμ λν μ€ν¨(Trap) νλ₯ μ΄ μ΄ν리μΌμ΄μ μ΄ λ³΅μ‘ν΄μ§κ³ κ·λͺ¨κ° 컀μ§λ©΄ μμΈ μν©μ΄ λ°μν νλ₯ μ΄ λμ΄λλ€. μ΄μ λ°λΌ μ€λ₯λ€μ μ‘μ μ μλλ‘ μ νν logging μ΄ νμνλ©°, κ°λ° μμ°μ±κ³Ό μ μν κ°μ μ λλͺ¨ν μ μλ€.
π λͺ©μ°¨
π λ³Έλ¬Έ
μμΈλ₯Ό κ°μ§νκ³ , ν΄λΉ μ΄μμ λν μ 보λ₯Ό λμΈ μ μλ 무μΈκ°κ° νμν κ²μ΄λ€. HTTP ν¬νΈλ₯Ό μ¬λ¬κ° λμ°λ€κ° ν¬νΈκ°μ μΆ©λμ΄λ μΈλΆ API μμ²μ΄ νμνλ°, ν΄λΉ μΈλΆ API μλΉμ€κ° λΆκ°μ©ν κ²½μ°μλ λ©μμ§λ₯Ό λμμ£Όμ΄μΌ νκ³ (DB μλ²μμ μμ£Ό λ°μ), λ΄λΆμ μΈ λ‘μ§μμ μ΄λ€ μ½λμμ μ΄λ€ μ€λ₯κ° λ¬λμ§λ νμν κ²μ΄λ€.
μ΄λ μ€ν¨ λΆμκΈ°λ₯Ό μ¬μ©νλ€. λͺ©νλ λ€μκ³Ό κ°λ€.
- λ°μν νΈλ©μ λν μμΈ λ©μμ§λ₯Ό μ 곡νμ¬ λ¬Έμ μ κ·Όλ³Έ μμΈκ³Ό ν΄κ²°μ± μ μ μνλ€.
- μ΄ν리μΌμ΄μ μμ μμ μμ κ²μ¦μ μννμ¬ μΆμΈ‘ κ°λ₯ν μλ¬λ₯Ό μΌμ° νμ νμ¬ μ΄ν리μΌμ΄μ μ μμ λμνμ§ μκ² ν μ μλ€.
Custom Spring Boot Failure Analyzer
μμ λ‘ μμ‘΄νλ μΈλΆ REST μλΉμ€λ₯Ό μ¬μ©ν μ μλμ§λ₯Ό μ΄ν리μΌμ΄μ μμ μ§μ μμ νμΈν΄μΌ νλ μν©μ΄λ€. μ¬κΈ°μλ Postgres Server μ λν΄ κ²μ¦μ μνν΄λ³΄μ.
μμΈλ₯Ό λ°λ‘ μ²λ¦¬νκΈ° μν΄ λ€μμ μμ±νλ€.
public class UrlNotAccessibleException extends RuntimeException {
private String url;
public UrlNotAccessibleException(String url) {
this(url, null);
}
public UrlNotAccessibleException(String url, Throwable cause) {
super("URL " + url + " is not accessible", cause);
this.url = url;
}
}
url μ μ°κ²°μ μ€ν¨νλ©΄ λ°μνλ λ°νμ μμΈμ΄λ€.
βοΈ μ©μ΄
######