在挂毯中记录事件调用

Log event calls in tapestry

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

在关于日志记录的 documentation 中说这是可能的,但我不太明白如何去做。它说:

Tapestry can also debug component event logic. The component's logger, with a "tapestry.events." prefix, is used at debug level. The debugging output identifies the event name and event source, and identifies any methods that are invoked.

Note that events that are not handled by a component will bubble up to the component's container; further logging for the same event will occur using the logger associated with the container. The page containing the initial component is the final step when logging.

这不是真正的指令。我尝试了类似于 this 的方法,但找不到启用记录器的事件记录 属性 的方法。目前我只将我的记录器设置为这样的调试级别:

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

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

另请注意,出于某种原因,我目前找不到我的 log4j.properties(log4j 并没有抱怨它,所以它可能确实存在于某处)文件,所以一个解决方案不需要这个文件会很好。如果这不可能,那也不是问题,我会简单地创建一个新的属性文件,或者类似的东西。

其实我只需要正确阅读文档即可。事件记录器是这样接收的:

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

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

eventLogger.setLevel(Level.DEBUG);