是否可以在log4j Java中记录任何方法调用?
谢谢!
答案 0 :(得分:6)
不,不是没有编辑调用网站或方法本身。我认为你所追求的是面向方面编程的东西。例如,请查看AspectJ。
答案 1 :(得分:0)
您可以在Log4j conversion pattern中使用%I
打印出该方法的名称。 但是会被警告“生成来电者位置信息非常慢,应该避免,除非执行速度不是问题。”
答案 2 :(得分:0)
您可以使用AOP和Java注释来完成。我建议使用@Loggable
注释和jcabi-aspects中的AspectJ方面(我是开发人员):
@Loggable(Loggable.DEBUG)
public String load(URL url) {
return url.openConnection().getContent();
}
在SLF4J日志输出中,您将看到方法执行时间,其参数及其名称。
答案 3 :(得分:0)
如何使用(%C.%M.%L)如下所示在log4j.xml中
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d - MyApplication - %-4p - (%C.%M.%L) -- %m%n" />
</layout>