Задать вопрос
@Koshkin_I

Как добавить Hibernate в логи?

Здравствуйте!
Есть некое SpringBoot приложение которое что-то делает в бд. Само собой это "что-то" делает Hibernate. Свою работу все приложение по умолчанию пишет в консоль. А мне надо в файл. Logback я в файл направлю, а вот как Hibernate в Logback?
2024-01-18T21:17:47.270+03:00  INFO 7023 --- [nio-2023-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2024-01-18T21:17:47.271+03:00  INFO 7023 --- [nio-2023-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
Hibernate: select i1_0.identifier_id,i1_0.id_counter_id,i1_0.identifier_name,i1_0.last_date,i1_0.os_name,i1_0.version from identifier i1_0 where i1_0.identifier_name=?
Hibernate: select c1_0.counter_id,c1_0.date_of_joining,c1_0.global_counter,c1_0.promo_pay_counter,c1_0.promo_wmr_counter from counters c1_0 where c1_0.counter_id=?

Как мне залогбэкать hibernate?
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой 10 комментариев
Решения вопроса 1
включил все логи через root посмотрел имена классов которые пишут нашел их package вставил с INFO остальное c FATAL

файл logback.xml д б в src/main/resurces
есть способ указать в командной строке где но это отдельная история
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="30 seconds">
  <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>
  <variable name="BASEDIR" value="${BASEDIR:-.}"/>
  <!-- https://www.cloudesire.com/configure-logback-log-level-via-environment-variables/ -->
  <property name="FILENAME" value="App"/>
  <property name="DIR" value="${BASEDIR}/logs"/>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- can use ${APP_HOME} -->
    <file>${DIR}/${FILENAME}.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
      <fileNamePattern>${DIR}/${FILENAME}.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
      <maxFileSize>100KB</maxFileSize>
      <totalSizeCap>1MB</totalSizeCap>
      <maxHistory>1</maxHistory>
    </rollingPolicy>
    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="WARN">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
  </root>
  <logger name="example" level="DEBUG" additivity="false">
    <appender-ref ref="FILE"/>
  </logger>
  <logger name="org.springframework.data" level="FATAL"/>
  <logger name="org.hibernate" level="FATAL"/>
  <logger name="org.hibernate.hql" level="DEBUG">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
  </logger>

  <logger name="org.springframework.jdbc.core" level="DEBUG">
    <appender-ref ref="CONSOLE"/>
    <appender-ref ref="FILE"/>
  </logger>
</configuration>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы