[ https://issues.apache.org/jira/browse/CAY-1840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
John Huss updated CAY-1840: --------------------------- Attachment: 0001-Add-conditional-logging-for-queries-that-take-longer.patch > Conditionally log slow / long-running queries > --------------------------------------------- > > Key: CAY-1840 > URL: https://issues.apache.org/jira/browse/CAY-1840 > Project: Cayenne > Issue Type: Improvement > Components: Core Library > Affects Versions: 3.2M1 > Reporter: John Huss > Assignee: John Huss > Priority: Minor > Attachments: > 0001-Add-conditional-logging-for-queries-that-take-longer.patch > > > I wanted to add logging slow / long-running queries without having to log > every single query, so I made a patch to do it. But there are a lot of > implementation questions and some general design questions about the > jdbcLogger. > 1) I added a property to control the logging threshold - seems like these > should go in Constants, but there was already a property defined in > JdbcAdapter where I was working, so I just put it there. Also, I'm not sure > what the property naming conventions are exactly. I called it > "cayenne.server.query_execution_time_logging_threshold" > 2) For the JdbcLogger, currently all the messages are at the INFO level. I > can't add this new logging with that level because then you wouldn't be able > to see just the long-running queries, you would still see all or none. So I > added generic "warn" method that uses the WARN level. But I wonder if a more > semantic method would be better, like "logLongQuery" or something. Also, I > wonder if it would be better to push the existing SQL logging down to the > debug level and leave the connection opening at the INFO level so you could > just see those logs (which is something I have wanted). > 3) I am logging only the SQL string and not the parameters because there > wasn't any easy way to access the params from the logger. Ideally the params > would be logged also. > 4) In Project Wonder some functionality like this exists, but it allows you > to pair log levels with query running times, so you could log at the WARN > level for queries longer than one second and log at the ERROR level for > queries longer than five seconds. I don't think this is very important as it > complicates the property API, but I thought I would throw out the idea. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira