我想记录所有事件调用。例如,如果用户单击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对此并不抱怨,因此它可能确实存在于某处)文件,因此不需要该文件的解决方案会好的。如果那不可能,那也没问题,我只需要创建一个新的属性文件或类似的东西即可。
答案 0 :(得分:0)
实际上,我只需要正确阅读文档即可。这样会收到事件记录器:
org.apache.log4j.Logger eventLogger = org.apache.log4j.Logger.getLogger("tapestry.events.de.[...].Edit");
然后可以将其设置为类似于普通记录器的调试方式:
eventLogger.setLevel(Level.DEBUG);