我试图让我的非开发人员在我的代码中找到某些异常变得容易,所以我想弄清楚是否有一种方法可以让maven搜索我的源码,因为它正在构建,挑选出来这些特定的异常并将它们与源代码文件名和行号一起添加到单独的文件中。例如这段代码:
@tailrec
def map(m: Map[Int, Any]): Map[Int, Any] = {
m.mapValues {
case x: Int => x.toString
case x: Map[Int, Any] =>map(x)
}
}
scala> val x = Map(1 -> 1,2 -> Map(3 -> 3))
x: scala.collection.immutable.Map[Int,Any] = Map(1 -> 1, 2 -> Map(3 -> 3))
scala> map(x)
res1: Map[Int,Any] = Map(1 -> 1, 2 -> Map(3 -> 3))
当我编译时,会在JAR的文件中添加一个条目,如下所示:
throw new MyException("1234-ABCDEF-1234-CDEF45");
有了这些信息,如果我的支持人员有" 1234-ABCDEF-1234-CDEF45"作为错误,他们可以交叉引用文件中的值并知道文件/行号。顺便说一句我明白将堆栈跟踪打印到日志也会给他们提供这些信息,但我故意不将堆栈跟踪打印到日志文件中,因为这些事件发生了很多,并且在程序的正常流程中除外。