Spring boot 2 + подробные журналы журналов не работают, с Logback, Hibernate + Weblogic - PullRequest
0 голосов
/ 05 марта 2020

Я использую oracle 11.x , Пружинный ботинок 2.x , maven , weblogi c - как внешний сервер.

  • Точка входа
@SpringBootConfiguration
@SpringBootApplication
public class WebSpringBootJarApplication
        extends SpringBootServletInitializer
        implements WebApplicationInitializer {

    private static final Logger LOGGER  = LoggerFactory.getLogger( WebSpringBootJarApplication.class );

    public static void main(String[] args) {
        SpringApplication.run(WebSpringBootJarApplication.class, args);
        LOGGER.info("Start an application...");
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        LOGGER.info("There is building the web application!");
        return builder.sources(WebSpringBootJarApplication.class);
    }
}

application.properties

spring.main.banner-mode=off

####################################################
#                    Oracle 11x
####################################################
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver


logging.config=classpath:logger/logback-spring.xml

logging.file.dir=logs
logging.file.name.var=log.log

logging.file.archive.format.name=program_.%d{dd-MM-yyyy}.log

logback-spring. xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="10 seconds" >

    <include resource="logger/settingslogger/defaults-spring.xml"/>


   <springProfile name="default">

        <include resource="logger/consolelogger/console-appender-spring.xml"/>

        <root level="INFO">
            <appender-ref ref="CONSOLE"/>
        </root>

    </springProfile>


    <springProfile name="production">

        <include resource="logger/productionappenderlogger/logback-appender-production-spring.xml"/>

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

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


        <logger name="weblogic.war.spring.boot" level="ERROR">

            <appender-ref ref="CONSOLE"/>

        </logger>

        <logger name="weblogic.war.spring.boot" level="INFO">

            <appender-ref ref="CONSOLE"/>

        </logger>

        <logger name="weblogic.war.spring.boot" level="INFO">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="weblogic.war.spring.boot" level="INFO">

            <appender-ref ref="FILE-ROLLING"/>

        </logger>

    </springProfile>


</configuration>

Когда почтальон отправляет запрос, у меня есть ответ:

{"timestamp": "2020-03-05T13: 47: 37.128 + 0000", "status" : 500, «ошибка»: «Внутренняя ошибка сервера», «сообщение»: «JTA-транзакция неожиданно откатилась (возможно из-за тайм-аута); вложенное исключение - weblogi c .transaction.RollbackException: setRollbackOnly вызывается при транзакции», « путь ":" / sat / api / save / differentTypes "}

И на консоли я вижу это:

05-03-2020 16: 47: 37.095 ОТЛАДКА 10500 [(самонастройка) '] mmaRequestResponseBodyMethodProcessor: прочитайте «application / json; charset = UTF-8» в [weblogi c .war.spring.boot.service.dto.differenttypes. DifferentTypesDtoEightProduce@f8bde55f Разное (усечено). ..] 05-03-2020 16: 47: 37.124 DEBUG 10500 [(самонастройка) '] osweb.servlet.DispatcherServlet: не удалось выполнить запрос: org.springframework.transaction.UnexpectedRollbackException: транзакция JTA неожиданно откатилась (возможно из-за тайм-аута); вложенное исключение - weblogi c .transaction.RollbackException: setRollbackOnly вызывается при транзакции

Обновление

Я пытался добавить следующие настройки в logback-spring. xml:

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" scanPeriod="10 seconds">

    <include resource="logger/default/defaults-spring.xml"/>

    <springProfile name="default">

        <include resource="logger/console/console-appender-spring.xml"/>

        <root level="TRACE">
            <appender-ref ref="CONSOLE"/>
        </root>

    </springProfile>

    <springProfile name="dev">

          <include resource="logger/console/console-appender-spring.xml"/>

           <include resource="logger/production/logback-appender-production-spring.xml"/>

        <!-- <root level="INFO">
             <appender-ref ref="CONSOLE"/>
         </root>-->

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

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

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

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

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

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

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

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

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

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

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

        <logger name="com.dao" level="INFO">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="com.service" level="INFO">
            <appender-ref ref="CONSOLE"/>
        </logger>

        <logger name="com.web" level="INFO">
            <appender-ref ref="CONSOLE"/>
        </logger>

          <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>

        <logger name="com.dao" level="INFO">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="com.service" level="INFO">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

        <logger name="com.web" level="INFO">
            <appender-ref ref="FILE-ROLLING"/>
        </logger>

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

    </springProfile>
</configuration>

spring.profiles.active=dev

logging.config=classpath:logger/logback-spring.xml

logging.file.dir=logs_gov
logging.file.name.var=gov_new.log
logging.file.archive.format.name=gov_new.%d{dd-MM-yyyy}.log
  • weblogi c. xml
<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app
        xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
        https://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd
        http://xmlns.oracle.com/weblogic/weblogic-web-app
        https://xmlns.oracle.com/weblogic/weblogic-web-app/1.9/weblogic-web-app.xsd">

    <wls:context-root>sun</wls:context-root>

    <wls:container-descriptor>

           <wls:prefer-application-packages>
               <wls:package-name>ch.qos.logback.*</wls:package-name>
               <wls:package-name>org.slf4j.*</wls:package-name>
            </wls:prefer-application-packages>

    <!--    <wls:prefer-application-resources>
            <wls:resource-name>ch/qos/logback/core/ConsoleAppender.class</wls:resource-name>
            <wls:resource-name>ch/qos/logback/core/rolling/RollingFileAppender.class</wls:resource-name>
            <wls:resource-name>ch/qos/logback/classic/encoder/PatternLayoutEncoder.class</wls:resource-name>
            <wls:resource-name>ch/qos/logback/core/rolling/TimeBasedRollingPolicy.class</wls:resource-name>
        </wls:prefer-application-resources>-->

    </wls:container-descriptor>

</wls:weblogic-web-app>

Я не вижу ошибок в консоли когда происходит откат транзакции.

12-03-2020 14: 21: 25.756 INFO 7216 c .wrsdDifferentTypesSaveRest: Записанный объект: DifferentTypesDtoEightProduce {status = OPEN} DifferentTypesDtoFour {year = 2020 , car = true} com.service.dto.differenttypes. DifferentTypesDtoEightProduce@64e50443 DifferentTypesDtoTwo {id = 135, name = 'fan5'} DifferentTypesDtoSix {cost = 10.0, символ = W} 12-03-2020 14: 21: 25.759 ОТЛАДКА 7216 mmaRequestResponseBodyMethodProcessor: использование 'application / json', заданное [ / ] и поддерживаемое [application / json] 12-03-2020 14: 21: 25.774 DEBUG 7216
mmaRequestResponseBodyMethodProcessor: Написание состояния [DifferentTypeD = OPEN} DifferentTypesDto Четыре {год = 2020, car = true} com.service.dt (усечено) ...] 12-03-2020 14: 21: 25.781 ОТЛАДКА 7216
osweb.servlet.DispatcherServlet: Завершено 200 ОК 12-03- 2020 14: 23: 13.766 DEBUG 7216 osweb.servlet.DispatcherServlet: POST "/ sun / api / save / differentTypes", параметры = {} 12-03-2020 14: 23: 13.766 DEBUG 7216 swsmmaRequestMappingHandlerMapping: сопоставлен с com.web. rest.save. {год = 2020, автомобиль = истина} com.service.dt (усечено) ...] 12-03-2020 14: 23: 13.804 ОТЛАДКА 7216
osweb.servlet.DispatcherServlet: Не удалось выполнить запрос: org.springframework .transaction.UnexpectedRollbackException: транзакция JTA неожиданно откатилась (возможно, из-за тайм-аута); вложенное исключение: weblogi c .transaction.RollbackException: setRollbackOnly вызывается при транзакции 12-03-2020 14: 23: 13.811 DEBUG 7216
osweb.servlet.DispatcherServlet: отправка "FORWARD" для POST "/ sun / error", параметры = {} 12-03-2020 14: 23: 13.812 ОТЛАДКА 7216
swsmmaRequestMappingHandlerMapping: сопоставляется с org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController # error (HttpServletRequest 12-03: 12: 23: 13.820 DEBUG 7216
oswsmmaHttpEntityMethodProcessor: Использование 'application / json', предоставляется [ / ] и поддерживается [application / json, application / + json, application / json, application / + json] 12-03-2020 14: 23: 13.820 DEBUG 7216 oswsmmaHttpEntityMethodProcessor: Запись [{timestamp = Четверг 12 14:23:13 MSK 2020, status = 500, ошибка = Внутренняя ошибка сервера, сообщение = JTA transa (усечено) ...] 12-03-2020 14 : 23: 13.824 DEBUG 7216 osweb.servlet.DispatcherServlet: выход из отправки «FORWARD», статус 500

Как настроить подробный вывод ошибок в консоль и файл, когда ошибки появляются во время работы Hibernate , когда Hibernate генерирует исключения с базой данных…

Как настроить, когда значения, которые должны быть записаны в базу данных, уже вставлены в экземпляр PreparedStatement

...