在挂毯中记录事件调用

时间:2019-01-16 16:35:22

标签: java events logging tapestry

我想记录所有事件调用。例如,如果用户单击ActionLink,我想获取有关事件Action刚刚发生的信息。

在关于日志记录的documentation中,它是有可能的,但是我不太了解该怎么做。它说:

  

Tapestry还可以调试组件事件逻辑。组件的记录器,带有“ tapestry.events”。前缀,用于调试级别。调试输出将标识事件名称和事件源,并标识所有调用的方法。

     

请注意,未由组件处理的事件将冒泡直至   组件的容器;进一步记录同一事件   使用与容器关联的记录器发生。这页纸   登录时,包含初始组件是最后一步。

这实际上不是指令。我尝试过类似this的操作,但是找不到启用记录程序的事件记录属性的方法。目前,我仅将记录器设置为调试级别,如下所示:

org.apache.log4j.Logger.getRootLogger().setLevel(Level.DEBUG);   
org.apache.log4j.Logger.getLogger("de.[...].Edit").setLevel(Level.DEBUG);

但这似乎只能启用调试级别,并且事件仍未跟踪。

还要注意,出于某种原因,我目前找不到我的log4j.properties文件(log4j对此并不抱怨,因此它可能确实存在于某处)文件,因此不需要该文件的解决方案会好的。如果那不可能,那也没问题,我只需要创建一个新的属性文件或类似的东西即可。

1 个答案:

答案 0 :(得分:0)

实际上,我只需要正确阅读文档即可。这样会收到事件记录器:

org.apache.log4j.Logger eventLogger = org.apache.log4j.Logger.getLogger("tapestry.events.de.[...].Edit");

然后可以将其设置为类似于普通记录器的调试方式:

eventLogger.setLevel(Level.DEBUG);