[java] 자바 ORM에서의 로깅 설정 방법
자바 ORM(Object-Relational Mapping)을 사용하다 보면 내부 동작을 로깅하여 디버깅이나 성능 튜닝에 도움이 됩니다. 대표적인 자바 ORM 라이브러리로는 Hibernate, MyBatis 등이 있습니다. 각 ORM 라이브러리마다 로깅 설정 방법이 다르므로 이번 포스트에서는 Hibernate와 MyBatis의 로깅 설정 방법을 알아보겠습니다.
Hibernate에서의 로깅 설정
Hibernate에서의 로깅은 주로 로깅 레벨(level)과 로거(logger) 설정을 통해 제어됩니다.
1. 로깅 레벨 설정
Hibernate 로깅 레벨은 TRACE, DEBUG, INFO, WARN, ERROR 등 다양합니다.
로깅 레벨을 설정하려면 log4j.properties
나 logback.xml
파일에서 다음과 같이 레벨을 지정합니다.
log4j.logger.org.hibernate=INFO
2. 로거 설정
로거는 각 클래스별로 로그를 출력하도록 설정할 수 있습니다.
Logger logger = LoggerFactory.getLogger("org.hibernate.SQL");
logger.setLevel(Level.INFO);
MyBatis에서의 로깅 설정
MyBatis는 주로 XML 설정 파일을 통해 로깅을 설정합니다.
1. XML 설정 파일
MyBatis XML 설정 파일에서 다음과 같이 로깅 레벨을 지정합니다.
<configuration>
<settings>
<setting name="logImpl" value="LOG4J2"/>
</settings>
</configuration>
2. log4j2 설정
MyBatis에서는 log4j2를 주로 사용하며, log4j2.xml 파일을 통해 로깅을 설정합니다.
<AsyncLogger name="org.apache.ibatis.logging" level="info"/>
로깅을 설정함으로써 ORM의 내부 동작을 로그로 확인할 수 있고, 이를 통해 효율적인 디버깅과 성능 튜닝을 할 수 있습니다.
이상으로 자바 ORM에서의 로깅 설정 방법을 알아보았습니다.
참고:
- Hibernate Logging Configuration: https://docs.jboss.org/hibernate/orm/5.5/userguide/html_single/Hibernate_User_Guide.html#jpa-0211
- MyBatis Logging Configuration: https://mybatis.org/mybatis-3/configuration.html#settings