Scala堆栈跟踪非常复杂,特别是因为匿名函数转换为字节码的方式.这是一个例子:
java.lang.IllegalStateException at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply$mcII$sp(IdentityVerifier.scala:19) at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply(IdentityVerifier.scala:17) at com.company.IdentityVerifier$$anonfun$go$2$$anonfun$apply$2.apply(IdentityVerifier.scala:17) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at com.company.IdentityVerifier$$anonfun$go$2.apply(IdentityVerifier.scala:17) at com.company.IdentityVerifier$$anonfun$go$2.apply(IdentityVerifier.scala:16) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) at com.company.IdentityVerifier$.go(IdentityVerifier.scala:16) at com.company.UserMap.setLastUserId(UserMap.scala:12) at com.company.UserConsumer.setCurrentUser(UserConsumer.java:69) at com.company.UserConsumer.consume(UserConsumer.java:64) at com.company.UserProducer.execute(UserProducer.java:19) at com.company.UserCreator.execute(UserCreator.java:18) at com.company.UserCreatorMain$1.run(UserCreatorMain.java:37) at com.company.UserCreatorMain.main(UserCreatorMain.java:51)
我已经找到了stackifier(这是他们的例子),但是将堆栈跟踪粘贴到网页上很麻烦.有没有办法在控制台上打印"更好"的堆栈跟踪?