Фильтрация StackTraceElement при printStackTrace ⇐ JAVA
-
Гость
Фильтрация StackTraceElement при printStackTrace
Я использую пружину. У меня есть много пакетов с цепной зависимостью.
пакет mvc --> (вызовы) бизнес-пакет --> основной пакет --> общий пакет --> удаленная служба RPC
Все пакеты загружаются в одну JVM. Но mvc Bundle не вызывает объект biz Bundle напрямую, вместо этого biz Bundle публикует сервис, предоставляя интерфейс mvc. комплект. пакет mvc имеет прокси-объект, и прокси-объект вызывает объект реализации службы.
моя трассировка стека выглядит так:
... по адресу com.mycorp.kbdatacenter.common.service.integration.nomo.NomoDataServiceClientImpl.getPropertyDistribution(NomoDataServiceClientImpl.java:64) ~[kbdatacenter-common-service-integration-1.0.0.jar:?] в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) ~[?:1.8.0_92] в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92] в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92] в java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92] по адресу com.mycorp.sofa.runtime.service.binding.JvmBindingAdapter$JvmServiceInvoker$1.call(JvmBindingAdapter.java:87) ~[?:?] по адресу com.mycorp.ambush.chain.codewrapper.CodeWrapperInvocateImpl.proceed(CodeWrapperIndictionImpl.java:77) ~[ambush-1.0.10.jar:?] на com.mycorp.guardian.client.sofa.GuardianCodeWrapperInterceptor.invokeCodeWrapper(GuardianCodeWrapperInterceptor.java:76) ~[guardian-sofa-1.1.5.jar:?] по адресу com.mycorp.ambush.chain.codewrapper.CodeWrapperInvocateImpl.proceed(CodeWrapperIndictionImpl.java:71) ~[ambush-1.0.10.jar:?] на com.mycorp.ambush.catalog.AbstractCatalog.doIntercept(AbstractCatalog.java:252) ~[ambush-1.0.10.jar:?] по адресу com.mycorp.ambush.api.AmbushRPCUtil.invokeClient(AmbushRPCUtil.java:79) ~[ambush-1.0.10.jar:?] по адресу com.mycorp.sofa.runtime.service.binding.JvmBindingAdapter$JvmServiceInvoker.doInvoke(JvmBindingAdapter.java:90) ~[?:?] на com.mycorp.sofa.runtime.service.comComponent.ServiceProxy.invoke(ServiceProxy.java:29) ~[?:?] в org.springframework.aop.framework.ReflectiveMethodInvocate.proceed(ReflectiveMethodInvocate.java:179) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE] в org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE] по адресу com.sun.proxy.$Proxy91.getPropertyDistribution(Неизвестный источник) ~[?:?] на com.mycorp.kbdatacenter.core.service.tag.TagDataQueryServiceImpl.queryByFilterRule(TagDataQueryServiceImpl.java:105) ~[kbdatacenter-core-service-1.0.0.jar:?] ... (еще 119 строк) В моем основном пакете есть прокси-объект nomoDataServiceClient, который вызывает объект Impl в общем пакете.
>
Мой вопрос: можно ли фильтровать StackTraceElement[], игнорировать пакеты com.sun.proxy, sun.reflect и другие. Я хочу, чтобы мой стек выглядел следующим образом:
... по адресу com.mycorp.kbdatacenter.common.service.integration.nomo.NomoDataServiceClientImpl.getPropertyDistribution(NomoDataServiceClientImpl.java:64) ~[kbdatacenter-common-service-integration-1.0.0.jar:?] на com.mycorp.kbdatacenter.core.service.tag.TagDataQueryServiceImpl.queryByFilterRule(TagDataQueryServiceImpl.java:105) ~[kbdatacenter-core-service-1.0.0.jar:?] ...
Я использую пружину. У меня есть много пакетов с цепной зависимостью.
пакет mvc --> (вызовы) бизнес-пакет --> основной пакет --> общий пакет --> удаленная служба RPC
Все пакеты загружаются в одну JVM. Но mvc Bundle не вызывает объект biz Bundle напрямую, вместо этого biz Bundle публикует сервис, предоставляя интерфейс mvc. комплект. пакет mvc имеет прокси-объект, и прокси-объект вызывает объект реализации службы.
моя трассировка стека выглядит так:
... по адресу com.mycorp.kbdatacenter.common.service.integration.nomo.NomoDataServiceClientImpl.getPropertyDistribution(NomoDataServiceClientImpl.java:64) ~[kbdatacenter-common-service-integration-1.0.0.jar:?] в sun.reflect.NativeMethodAccessorImpl.invoke0(собственный метод) ~[?:1.8.0_92] в sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92] в sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92] в java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92] по адресу com.mycorp.sofa.runtime.service.binding.JvmBindingAdapter$JvmServiceInvoker$1.call(JvmBindingAdapter.java:87) ~[?:?] по адресу com.mycorp.ambush.chain.codewrapper.CodeWrapperInvocateImpl.proceed(CodeWrapperIndictionImpl.java:77) ~[ambush-1.0.10.jar:?] на com.mycorp.guardian.client.sofa.GuardianCodeWrapperInterceptor.invokeCodeWrapper(GuardianCodeWrapperInterceptor.java:76) ~[guardian-sofa-1.1.5.jar:?] по адресу com.mycorp.ambush.chain.codewrapper.CodeWrapperInvocateImpl.proceed(CodeWrapperIndictionImpl.java:71) ~[ambush-1.0.10.jar:?] на com.mycorp.ambush.catalog.AbstractCatalog.doIntercept(AbstractCatalog.java:252) ~[ambush-1.0.10.jar:?] по адресу com.mycorp.ambush.api.AmbushRPCUtil.invokeClient(AmbushRPCUtil.java:79) ~[ambush-1.0.10.jar:?] по адресу com.mycorp.sofa.runtime.service.binding.JvmBindingAdapter$JvmServiceInvoker.doInvoke(JvmBindingAdapter.java:90) ~[?:?] на com.mycorp.sofa.runtime.service.comComponent.ServiceProxy.invoke(ServiceProxy.java:29) ~[?:?] в org.springframework.aop.framework.ReflectiveMethodInvocate.proceed(ReflectiveMethodInvocate.java:179) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE] в org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE] по адресу com.sun.proxy.$Proxy91.getPropertyDistribution(Неизвестный источник) ~[?:?] на com.mycorp.kbdatacenter.core.service.tag.TagDataQueryServiceImpl.queryByFilterRule(TagDataQueryServiceImpl.java:105) ~[kbdatacenter-core-service-1.0.0.jar:?] ... (еще 119 строк) В моем основном пакете есть прокси-объект nomoDataServiceClient, который вызывает объект Impl в общем пакете.
>
Мой вопрос: можно ли фильтровать StackTraceElement[], игнорировать пакеты com.sun.proxy, sun.reflect и другие. Я хочу, чтобы мой стек выглядел следующим образом:
... по адресу com.mycorp.kbdatacenter.common.service.integration.nomo.NomoDataServiceClientImpl.getPropertyDistribution(NomoDataServiceClientImpl.java:64) ~[kbdatacenter-common-service-integration-1.0.0.jar:?] на com.mycorp.kbdatacenter.core.service.tag.TagDataQueryServiceImpl.queryByFilterRule(TagDataQueryServiceImpl.java:105) ~[kbdatacenter-core-service-1.0.0.jar:?] ...
Мобильная версия