我可以给lambda一个名字吗?

Pet*_*iuk 1 java lambda java-8

我有很好的功能代码粗略的下一个形状(ComponentRegistry.java):

public void doExport() {
    config.exports().forEach((key, type) -> {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

它的问题是,当涉及到log4j语句时,它会产生下一个输出:

ComponentRegistry lambda$doExport$1
Run Code Online (Sandbox Code Playgroud)

其中实际的方法名称位于"lambda"关键字之后,然后有两个关于匿名类($)的提示.它不如直接方法调用日志记录好.

我想知道是否有人在log4j输出或stacktraces中正确标记lambdas,因为它会很棒.

jac*_*obm 8

如果要为其命名,请不要使用lambda(显式为匿名函数).而是将其分解为自己的类.