From bbc2c3c6d07f599ea366508c4329085e2ad6c93a Mon Sep 17 00:00:00 2001 From: Sumin Hwang <163857590+tnals0924@users.noreply.github.com> Date: Mon, 17 Aug 2026 20:42:16 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20dev=20=ED=94=84=EB=A1=9C=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=EC=9D=98=20SQL=20=EC=BD=98=EC=86=94=20=EC=B6=9C?= =?UTF-8?q?=EB=A0=A5=20=EC=A0=9C=EA=B1=B0=20-=20#151?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit show-sql은 org.hibernate.SQL 로거와 별개로 System.out에 직접 쓴다. 로그 레벨로 끌 수 없고, 비동기 appender로 돌릴 수도 없으며, System.out이 동기화된 스트림이라 요청 스레드들이 출력 락에서 직렬화된다. dev는 부하 테스트 대상 환경이기도 해서 측정에 잡음을 넣는다. format_sql은 BasicFormatterImpl이 쿼리마다 SQL 문자열을 파싱해 들여쓰기를 넣는 비용이고, 출력이 꺼지면 수행되지 않으므로 show-sql과 함께 끈다. 대신 logging.level에 org.hibernate.SQL과 org.hibernate.orm.jdbc.bind를 남겨, SQL을 봐야 할 때 레벨만 올리면 되도록 했다. 이쪽은 Logback을 타므로 레벨과 appender 제어가 정상적으로 된다. application-local.yml은 그대로 둔다. 개발자 개인 머신이라 SQL이 바로 보이는 편이 유용하고 출력 경합이 문제가 되지 않는다. Co-Authored-By: Claude Opus 5 --- src/main/resources/application-dev.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 9d8408b..eb2e6b1 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -32,10 +32,14 @@ spring: jpa: properties: hibernate: - format_sql: true + # show-sql 과 함께만 의미가 있고, 켜면 쿼리마다 포매팅 비용이 붙는다 + format_sql: false dialect: org.hibernate.dialect.MySQLDialect dialect.storage_engine: innodb - show-sql: true + # show-sql 은 로거를 거치지 않고 System.out 에 직접 쓴다. + # 레벨로 끌 수도, 비동기 appender 로 돌릴 수도 없고 요청 스레드들이 출력 락에서 직렬화된다. + # SQL 을 봐야 할 때는 아래 logging.level 을 debug 로 올린다 (로거 경로라 제어가 된다). + show-sql: false hibernate: ddl-auto: update @@ -46,6 +50,12 @@ spring: resolve-lazily: true +logging: + level: + org.hibernate.SQL: info # debug 로 올리면 실행 SQL 출력 + org.hibernate.orm.jdbc.bind: info # trace 로 올리면 바인딩 파라미터까지 출력 + + server: tomcat: threads: