gpt4 book ai didi

java - StackTraceElement getFileName() 在 lambda 上给出 null

转载 作者:行者123 更新时间:2023-11-30 07:53:25 26 4
gpt4 key购买 nike

我有一个自定义日志记录系统,它为每个日志记录语句显示日志记录语句的文件名和行号。除了 lambda 之外,这非常有效。与 lambda 内的位置相对应的 StackTraceElement 不会生成文件名。我不确定这可能与 JVM 生成某种代码以使 lambda 工作有关。有没有办法以某种方式获取文件名和行号?

最佳答案

您可以获得使用 lambda 的源文件的名称(位于堆栈跟踪的前面),但由于 lambda 被编译为内部类,因此它们没有实际的源文件名。

它们也没有行号,因为行号位于您看不到的类中(生成的内部类)。

关于java - StackTraceElement getFileName() 在 lambda 上给出 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33023718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com