Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789

Spring Boot 2.x + Logback + Hibernate - настройка детализации логов

06.03.2020, 09:36. Показов 1583. Ответов 0

Студворк — интернет-сервис помощи студентам
Я использую Spring Boot. Когда я использовал встроенный Tomcat и файл разворачивался автоматически из *.jar, тогда для вывода логов достаточно было сделать так:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#Показывает только запросы ( вместо параметров, будут вопросительные знаки)
logging.level.org.hibernate.SQL=DEBUG
 
#показываеть sql-запросы в отформатированном виде
spring.jpa.properties.hibernate.format_sql=true
 
#данный параметр выводит в консоль результат запроса сформированного PreparedStatements
logging.level.org.springframework.jdbc.core.StatementCreatorUtils=TRACE
 
#Выполнение привязки значений к параметрам JDBC инструкции, в случае использования PreparedStatements
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
 
 
#Отключение режима Open Session In View (OSIV), который включен по умолчанию
spring.jpa.open-in-view=false
Но я использую внешний сервер - WebLogic 12.x, на котором веб-приложение нужно развернуть используя *.war.

В качестве базы используется oracle.

В качестве логгера используется Logback.

logback-spring.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?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"/>
 
        <root level="ERROR">
            <appender-ref ref="CONSOLE"/>
        </root>
 
        <!--  Указываем для пакета, какой уровень логгирования, будет обрабатываться
               текущим профилем.-->
        <logger name="org.springframework.web" level="DEBUG" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>
 
        <logger name="org.springframework.data" level="DEBUG" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>
 
 
        <logger name="org.hibernate" level="DEBUG" additivity="false">
            <appender-ref ref="CONSOLE"/>
        </logger>
 
        <logger name="org.hibernate.SQL" level="DEBUG"  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="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>
Но я все равно в консоли не вижу детализации...

org.springframework.transaction.Unexpect edRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout); nested exception is weblogic.transaction.RollbackException: setRollbackOnly called on transaction
at org.springframework.transaction.jta.JtaT ransactionManager.doCommit(JtaTransactio nManager.java:1038)
at org.springframework.transaction.support. AbstractPlatformTransactionManager.proce ssCommit(AbstractPlatformTransactionMana ger.java:744)
at org.springframework.transaction.support. AbstractPlatformTransactionManager.commi t(AbstractPlatformTransactionManager.jav a:712)
at org.springframework.transaction.intercep tor.TransactionAspectSupport.commitTrans actionAfterReturning(TransactionAspectSu pport.java:631)
at org.springframework.transaction.intercep tor.TransactionAspectSupport.invokeWithi nTransaction(TransactionAspectSupport.ja va:385)
at org.springframework.transaction.intercep tor.TransactionInterceptor.invoke(Transa ctionInterceptor.java:99)
at org.springframework.aop.framework.Reflec tiveMethodInvocation.proceed(ReflectiveM ethodInvocation.java:186)
at org.springframework.aop.framework.CglibA opProxy$CglibMethodInvocation.proceed(Cg libAopProxy.java:747)
at org.springframework.aop.framework.CglibA opProxy$DynamicAdvisedInterceptor.interc ept(CglibAopProxy.java:689)
at weblogic.war.spring.boot.service.save.di fferenttypes.impl.DifferentTypesSaveServ iceImpl$$EnhancerBySpringCGLIB$$99d79f5d .writeData(<generated>)
at weblogic.war.spring.boot.rest.save.diffe rentTypes.DifferentTypesSaveRest.setDiff erentTypes(DifferentTypesSaveRest.java:3 4)
at sun.reflect.NativeMethodAccessorImpl.inv oke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.inv oke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.jav a:43)
at java.lang.reflect.Method.invoke(Method.j ava:498)
at org.springframework.web.method.support.I nvocableHandlerMethod.doInvoke(Invocable HandlerMethod.java:190)
at org.springframework.web.method.support.I nvocableHandlerMethod.invokeForRequest(I nvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.meth od.annotation.ServletInvocableHandlerMet hod.invokeAndHandle(ServletInvocableHand lerMethod.java:106)
at org.springframework.web.servlet.mvc.meth od.annotation.RequestMappingHandlerAdapt er.invokeHandlerMethod(RequestMappingHan dlerAdapter.java:888)
at org.springframework.web.servlet.mvc.meth od.annotation.RequestMappingHandlerAdapt er.handleInternal(RequestMappingHandlerA dapter.java:793)
at org.springframework.web.servlet.mvc.meth od.AbstractHandlerMethodAdapter.handle(A bstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.Dispatch erServlet.doDispatch(DispatcherServlet.j ava:1040)
at org.springframework.web.servlet.Dispatch erServlet.doService(DispatcherServlet.ja va:943)
at org.springframework.web.servlet.Framewor kServlet.processRequest(FrameworkServlet .java:1006)
at org.springframework.web.servlet.Framewor kServlet.doPost(FrameworkServlet.java:90 9)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:707)
at org.springframework.web.servlet.Framewor kServlet.service(FrameworkServlet.java:8 83)
at javax.servlet.http.HttpServlet.service(H ttpServlet.java:790)
at weblogic.servlet.internal.StubSecurityHe lper$ServletServiceAction.run(StubSecuri tyHelper.java:295)
at weblogic.servlet.internal.StubSecurityHe lper$ServletServiceAction.run(StubSecuri tyHelper.java:260)
at weblogic.servlet.internal.StubSecurityHe lper.invokeServlet(StubSecurityHelper.ja va:137)
at weblogic.servlet.internal.ServletStubImp l.execute(ServletStubImpl.java:353)
at weblogic.servlet.internal.TailFilter.doF ilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImp l.doFilter(FilterChainImpl.java:78)
at org.springframework.web.filter.RequestCo ntextFilter.doFilterInternal(RequestCont extFilter.java:100)
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:119)
at weblogic.servlet.internal.FilterChainImp l.doFilter(FilterChainImpl.java:78)
at org.springframework.web.filter.FormConte ntFilter.doFilterInternal(FormContentFil ter.java:93)
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:119)
at weblogic.servlet.internal.FilterChainImp l.doFilter(FilterChainImpl.java:78)
at org.springframework.boot.web.servlet.sup port.ErrorPageFilter.doFilter(ErrorPageF ilter.java:128)
at org.springframework.boot.web.servlet.sup port.ErrorPageFilter.access$000(ErrorPag eFilter.java:66)
at org.springframework.boot.web.servlet.sup port.ErrorPageFilter$1.doFilterInternal( ErrorPageFilter.java:103)
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:119)
at org.springframework.boot.web.servlet.sup port.ErrorPageFilter.doFilter(ErrorPageF ilter.java:121)
at weblogic.servlet.internal.FilterChainImp l.doFilter(FilterChainImpl.java:78)
at org.springframework.web.filter.Character EncodingFilter.doFilterInternal(Characte rEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRe questFilter.doFilter(OncePerRequestFilte r.java:119)
at weblogic.servlet.internal.FilterChainImp l.doFilter(FilterChainImpl.java:78)
at weblogic.servlet.internal.WebAppServletC ontext$ServletInvocationAction.wrapRun(W ebAppServletContext.java:3797)
at weblogic.servlet.internal.WebAppServletC ontext$ServletInvocationAction.run(WebAp pServletContext.java:3763)
at weblogic.security.acl.internal.Authentic atedSubject.doAs(AuthenticatedSubject.ja va:344)
at weblogic.security.service.SecurityManage r.runAsForUserCode(SecurityManager.java: 197)
at weblogic.servlet.provider.WlsSecurityPro vider.runAsForUserCode(WlsSecurityProvid er.java:203)
at weblogic.servlet.provider.WlsSubjectHand le.run(WlsSubjectHandle.java:71)
at weblogic.servlet.internal.WebAppServletC ontext.doSecuredExecute(WebAppServletCon text.java:2451)
at weblogic.servlet.internal.WebAppServletC ontext.securedExecute(WebAppServletConte xt.java:2299)
at weblogic.servlet.internal.WebAppServletC ontext.execute(WebAppServletContext.java :2277)
at weblogic.servlet.internal.ServletRequest Impl.runInternal(ServletRequestImpl.java :1720)
at weblogic.servlet.internal.ServletRequest Impl.run(ServletRequestImpl.java:1680)
at weblogic.servlet.provider.ContainerSuppo rtProviderImpl$WlsRequestExecutor.run(Co ntainerSupportProviderImpl.java:272)
at weblogic.invocation.ComponentInvocationC ontextManager._runAs(ComponentInvocation ContextManager.java:352)
at weblogic.invocation.ComponentInvocationC ontextManager.runAs(ComponentInvocationC ontextManager.java:337)
at weblogic.work.LivePartitionUtility.doRun WorkUnderContext(LivePartitionUtility.ja va:57)
at weblogic.work.PartitionUtility.runWorkUn derContext(PartitionUtility.java:41)
at weblogic.work.SelfTuningWorkManagerImpl. runWorkUnderContext(SelfTuningWorkManage rImpl.java:655)
at weblogic.work.ExecuteThread.execute(Exec uteThread.java:420)
at weblogic.work.ExecuteThread.run(ExecuteT hread.java:360)
Caused by: weblogic.transaction.RollbackException: setRollbackOnly called on transaction
at weblogic.transaction.internal.Transactio nImpl.throwRollbackException(Transaction Impl.java:2122)
at weblogic.transaction.internal.ServerTran sactionImpl.internalCommit(ServerTransac tionImpl.java:384)
at weblogic.transaction.internal.ServerTran sactionImpl.commit(ServerTransactionImpl .java:270)
at weblogic.transaction.internal.Transactio nManagerImpl.commit(TransactionManagerIm pl.java:389)
at org.springframework.transaction.jta.JtaT ransactionManager.doCommit(JtaTransactio nManager.java:1035)
... 67 common frames omitted
Caused by: weblogic.transaction.internal.AppSetRoll backOnlyException: setRollbackOnly called on transaction
У кого есть идеи как детализацию вернуть ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2020, 09:36
Ответы с готовыми решениями:

Spring boot, Jpa, Hibernate, H2DB
Суть такова я вызываю удаленную процедуру public interface NotificationProcedureRepository extends...

Spring Boot Hibernate выключить вывод сущностей
У меня есть сущность &quot;User&quot;. Если я ввожу адрес &quot;localhost/users/&quot;, то я получаю список всех юзеров и их персональные данные в формате...

Redis cache in spring boot + hibernate + PostgreSQL
Добрый день. Возникло пару вопросов по redis cache в spring boot + hibernate + PostgreSQL. Заранее извиняюсь за nubовские вопросы...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2020, 09:36
Помогаю со студенческими работами здесь

Настройка spring boot security
Всем привет! Подскажите пожалуйста, как настроить security конфиг, если веб запущен отдельно от бека. Сейчас у меня настройки, когда веб...

Что такое Spring, Spring Boot?
Здравствуйте. Никогда не использовал Spring, Spring Boot. Возник такой вопрос можно ли его использовать в IDE для java Se. Или для...

Spring в Spring Boot context
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext( &quot;applicationContext.xml&quot; ); ...

Spring и Hibernate
Пытаюсь написать свой CRUD на спринге, никак не удается отловить вот этот баг: org.hibernate.HibernateException: createQuery is not valid...

Spring + Hibernate
Вообщем решил изучить Java, Spring, Hibernate. Запили основу, но вот постоянно выскакивает, не знаю как её поправить... Ошибка: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru