Java Springboot堆栈跟踪日志记录筛选器仅来自我的软件包
我将Springboot与SL4JAPI 1.7.2一起使用 是否有一种方法可以从堆栈跟踪中仅筛选出以我的包开头的行,或者从spring framework或我使用的其他库的日志文件行中排除这些行 这将简化日志文件的读取,并大大减少日志文件所需的空间。在99%以上的情况下,错误出现在我的代码中,而不是我使用的libs中 在开始我的新的、自制的治疗方法之前,我想看看是否有任何统一的解决方案 这个30多行长的堆栈跟踪Java Springboot堆栈跟踪日志记录筛选器仅来自我的软件包,java,spring-boot,slf4j,stack-trace,Java,Spring Boot,Slf4j,Stack Trace,我将Springboot与SL4JAPI 1.7.2一起使用 是否有一种方法可以从堆栈跟踪中仅筛选出以我的包开头的行,或者从spring framework或我使用的其他库的日志文件行中排除这些行 这将简化日志文件的读取,并大大减少日志文件所需的空间。在99%以上的情况下,错误出现在我的代码中,而不是我使用的libs中 在开始我的新的、自制的治疗方法之前,我想看看是否有任何统一的解决方案 这个30多行长的堆栈跟踪 2020-12-18 03:59:40,179 [SimpleAsyncTaskE
2020-12-18 03:59:40,179 [SimpleAsyncTaskExecutor-2] ERROR RestCommunicatorImpl - sort
com.my.package.exception.AlreadyRunningException: Already running
at com.my.package.impl.RestCommunicatorImpl.validate(RestCommunicatorImpl.java:244) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestCommunicatorImpl.spawn(RestCommunicatorImpl.java:200) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestOrchestratorImpl.onAction(RestCommunicatorImpl.java:819) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestCommunicatorImpl.sort(RestCommunicatorImpl.java:561) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestCommunicatorImpl$$FastClassBySpringCGLIB$$db5641d3.invoke(<generated>) [classes!/:0.6.0-SNAPSHOT]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) [spring-core-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738) [spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) [spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) [spring-tx-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) [spring-tx-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) [spring-tx-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) [spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673) [spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at com.ge.og.rmd.analytics.kernel.boot.orchestrator.impl.RestOrchestratorImpl$$EnhancerBySpringCGLIB$$f68bccb1.sortRuntime(<generated>) [classes!/:0.6.0-SNAPSHOT]
at com.ge.og.rmd.analytics.kernel.boot.amqp.consumer.ConsumerManager.processCommandOutMessage(ConsumerManager.java:622) [classes!/:0.6.0-SNAPSHOT]
at sun.reflect.GeneratedMethodAccessor268.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_222]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_222]
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:180) [spring-messaging-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:112) [spring-messaging-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:49) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:126) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:106) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:822) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:745) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$001(SimpleMessageListenerContainer.java:97) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$1.invokeListener(SimpleMessageListenerContainer.java:189) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.invokeListener(SimpleMessageListenerContainer.java:1276) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:726) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:1219) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:1189) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1500(SimpleMessageListenerContainer.java:97) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1421) [spring-rabbit-1.7.2.RELEASE.jar!/:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_222]
2020-12-18 03:59:40179[SimpleAsyncTaskExecutor-2]错误restCommunicationOrImpl-排序
com.my.package.exception.AlreadyRunningException:已在运行
在com.my.package.impl.RestCommunicatorImpl.validate(RestCommunicatorImpl.java:244)~[classes!/:0.6.0-SNAPSHOT]
在com.my.package.impl.RestCommunicatorImpl.spawn(RestCommunicatorImpl.java:200)~[classes!/:0.6.0-SNAPSHOT]
在com.my.package.impl.RestOrchestratorImpl.onAction(RestCommunicatorImpl.java:819)~[classes!/:0.6.0-SNAPSHOT]
在com.my.package.impl.RestCommunicatorImpl.sort(RestCommunicatorImpl.java:561)~[classes!/:0.6.0-SNAPSHOT]
在com.my.package.impl.RestCommunicatorImpl$$FastClassBySpringCGLIB$$db5641d3.invoke()[classes!/:0.6.0-SNAPSHOT]
在org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)[spring-core-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)[spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)[spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)[spring-tx-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.transaction.interceptor.TransactionSpectSupport.invokeWithinTransaction(TransactionSpectSupport.java:282)[spring-tx-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)[spring-tx-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)[spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:673)[spring-aop-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在com.ge.og.rmd.analytics.kernel.boot.orchestrator.impl.RestOrchestratorImpl$$EnhancerBySpringCGLIB$$f68bccb1.sortRuntime()[classes!/:0.6.0-SNAPSHOT]
在com.ge.og.rmd.analytics.kernel.boot.amqp.consumer.ConsumerManager.processCommandOutMessage(ConsumerManager.java:622)[类!/:0.6.0-SNAPSHOT]
at sun.reflect.GeneratedMethodAccessor268.invoke(未知源)~[na:na]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)~[na:1.8.0Þ]
在java.lang.reflect.Method.invoke(Method.java:498)~[na:1.8.0_222]
在org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:180)[spring-messaging-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:112)[spring-messaging-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
在org.springframework.amqp.rabbit.listener.adapter.handleAdapter.invoke(handleAdapter.java:49)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:126)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:106)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.DoInvokeStener(AbstractMessageListenerContainer.java:822)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:745)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
在org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$001(SimpleMessageListenerContainer.java:97)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$1.invokeListener(SimpleMessageListenerContainer.java:189)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.invokeListener(SimpleMessageListenerContainer.java:1276)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:726)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:1219)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:1189)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
在org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.access$1500(SimpleMessageListenerContainer.java:97)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
位于org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1421)[spring-rabbit-1.7.2.RELEASE.jar!/:na]
在java.lang.Thread.run(Thread.java:748)[na:1.8.0_222]
应该是7排
2020-12-18 03:59:40,179 [SimpleAsyncTaskExecutor-2] ERROR RestCommunicatorImpl - sort
com.my.package.exception.AlreadyRunningException: Already running
at com.my.package.impl.RestCommunicatorImpl.validate(RestCommunicatorImpl.java:244) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestCommunicatorImpl.spawn(RestCommunicatorImpl.java:200) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestOrchestratorImpl.onAction(RestCommunicatorImpl.java:819) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestCommunicatorImpl.sort(RestCommunicatorImpl.java:561) ~[classes!/:0.6.0-SNAPSHOT]
at com.my.package.impl.RestCommunicatorImpl$$FastClassBySpringCGLIB$$db5641d3.invoke(<generated>) [classes!/:0.6.0-SNAPSHOT]
2020-12-18 03:59:40179[简单同步]
try {
...
} catch(Exception e) {
logger.info("your message {}", TextUtils.getStacktrace(e, true, "com.my.package.");
}