Instead of injecting a custom QueryLogger, it would probably be easier to create a custom log4j.appender class and assign it to log data for "log4j.logger.org.apache.cayenne.access.QueryLogger = INFO" and parse the data which is logged.
http://cayenne.apache.org/doc/configuring-logging.html Write custom appenders for log4j http://www.javaworld.com/javaworld/jw-12-2004/jw-1220-toolbox.html On Wed, May 9, 2012 at 1:28 PM, Ramiro Aparicio <[email protected]> wrote: > Hi, > > I am trying to figure some way to get the number or queries and time elapsed > in a DataContext, or something similar, I want to get agregate data about DB > performance and be able to find where we should try to reduce the number of > DB queries. > I thought I could use some kind of ServletFilter to get the data and post > back as headers or something like that, but I don't se anywhere how I can > get this information, the best I can see is that all that information is > logged but not agregated, so maybe I could create a custom QueryLogger, but > I can not see any way to inject a custom QueryLogger either so I am lost. > Maybe this is a marginal use case but I think this is a interesting feature > for everyone using Cayenne in production enviroments to gather information > without having to parse the logs. > > Ramiro Aparicio
