Форматирование sql hibernate в logback при записи в файл

Вот эти настройки позволяют отформатировать вывод в консоль Sql-Инструкций.

#показываеть sql-запросы в отформатированном виде
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.show_sql=true
#spring.jpa.properties.hibernate.use_sql_comments=true

Но вывод в консоль настолько большой, плюс работает планировщик, который через какое-то время отправляет запросы в базу данных, поэтому текущий запрос не возможно увидеть в консоли, так как он очень быстро отрабатывает, а лог в консоли обрезается и показывается только последние (например несколько десятков записей).

Но настроена запись в файл (настроено логгирование),

  <springProfile name="dev">

        <!--  настройки аппендера для текущего профиля в консоль-->
        <include resource="logger/console/console-appender-spring.xml"/>

        <!--  настройки аппендера для текущего профиля в файл-->
        <include resource="logger/production/logback-appender-production-spring.xml"/>


      <!--  Указываем пакеты, на уровне которых,  будут отлавливатьcя сообщения логгеров и
      публиковаться в консоль-->

        <logger name="ch.qos.logback" level="DEBUG" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.springframework.transaction.interceptor" level="TRACE" >
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.springframework.web" level="DEBUG" additivity="false" >
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.springframework.data" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

            <logger name="org.springframework.data.jpa" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>


        <logger name="org.hibernate" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.hibernate.validator" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.hibernate.sql" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.hibernate.type.descriptor.sql" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.springframework.jdbc.core.StatementCreatorUtils" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.springframework.jdbc.core.PreparedStatementCreator" level="TRACE" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <!--  Указываем пакеты, на уровне которых,  будут отлавливатьcя сообщения логгеров и
             публиковаться в файл-->

        <logger name="ch.qos.logback" level="DEBUG">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="org.springframework.web" level="DEBUG" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.springframework.data" level="DEBUG" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.springframework.data.jpa" level="DEBUG" additivity="false" >
            <appender-ref ref="FILE-ROLLING"/>
        </logger>


        <logger name="org.hibernate" level="DEBUG" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.hibernate.validator" level="WARN">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.hibernate.sql" level="DEBUG" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.hibernate.type.descriptor.sql" level="TRACE" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.springframework.jdbc.core.StatementCreatorUtils" level="TRACE" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="org.springframework.jdbc.core.PreparedStatementCreator" level="TRACE" additivity="false">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

            <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>

      <!--  http://logback.qos.ch/manual/configuration.html-->
        <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
            <resetJUL>true</resetJUL>
        </contextListener>

    </springProfile>

но здесь sql-запросы хоть и логгируются, они не отформатированы.

Как это исправить ?


Ответы (0 шт):