Activiti堆栈跟踪很大。怎么减少?

时间:2018-04-03 07:33:39

标签: performance logging activiti

在我们的应用程序中,我们使用Activiti,问题是在日志中我们得到非常大的异常堆栈跟踪,每个异常几百行。 此外,巨大的堆栈跟踪不会提供额外的有用信息,因此没有充分的理由让我们拥有它。

我确信使用Activiti的每个人都遇到过这个问题。我们如何减少堆栈跟踪的大小?

1 个答案:

答案 0 :(得分:2)

Activiti使用slf4j,因此一个选项是使用logback绑定并使用%ex布局选项自定义其输出。

您可以在以下链接中找到更多信息:

Chapter 6: Layouts

相关选项复制如下:

  • ex {depth}
  • exception {depth}
  • throwable {depth}
  • ex {depth,evaluator-1,...,evaluationator-n}
  • exception {depth,evaluator-1,...,evaluationator-n}
  • throwable {depth,evaluator-1,...,evaluationator-n}

输出与日志记录事件关联的异常的堆栈跟踪(如果有)。默认情况下,将输出完整的堆栈跟踪。

可投掷转换字后面可以跟随以下选项之一:

  • short:打印堆栈跟踪的第一行
  • full:打印完整的堆栈跟踪
  • 任何整数:打印堆栈跟踪的给定行数

实施例

Conversion Pattern     Result
%ex                    mainPackage.foo.bar.TestException: Houston we have a problem
                        at mainPackage.foo.bar.TestThrower.fire(TestThrower.java:22)
                        at mainPackage.foo.bar.TestThrower.readyToLaunch(TestThrower.java:17)
                        at mainPackage.ExceptionLauncher.main(ExceptionLauncher.java:38)

%ex{short}             mainPackage.foo.bar.TestException: Houston we have a problem
                        at mainPackage.foo.bar.TestThrower.fire(TestThrower.java:22)

%ex{full}              mainPackage.foo.bar.TestException: Houston we have a problem
                        at mainPackage.foo.bar.TestThrower.fire(TestThrower.java:22)
                        at mainPackage.foo.bar.TestThrower.readyToLaunch(TestThrower.java:17)
                        at mainPackage.ExceptionLauncher.main(ExceptionLauncher.java:38)

%ex{2}                 mainPackage.foo.bar.TestException: Houston we have a problem
                        at mainPackage.foo.bar.TestThrower.fire(TestThrower.java:22)
                        at mainPackage.foo.bar.TestThrower.readyToLaunch(TestThrower.java:17)