I'm seeing the same thing while using logback for couple of web-apps running on Tomcat 7/Windows. They use dedicated logback context (jars in WEB-INF\libs) and there are open handles left after hot-redeploy, so eventually renaming fails.
To make it worse, the further size based triggering seem to fail as well and the main file just keeps sitting there and growing.
Since I'm not using a JNDI context, I can't use the ContextDetachingSCL listener. It would be good to have a listener in logback which stops the default context for web-apps (which I'm planning to use anyway) something like:
public class BruteContextDetachingSCL implements ServletContextListener {
public void contextDestroyed(ServletContextEvent servletContextEvent)
public void contextInitialized(ServletContextEvent arg0)
{
// do nothing
}
}
I might be wrong here, but it seems to work and might help while the root-cause is resolved.
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
Hello,
I'm seeing the same thing while using logback for couple of web-apps running on Tomcat 7/Windows. They use dedicated logback context (jars in WEB-INF\libs) and there are open handles left after hot-redeploy, so eventually renaming fails.
To make it worse, the further size based triggering seem to fail as well and the main file just keeps sitting there and growing.
Since I'm not using a JNDI context, I can't use the ContextDetachingSCL listener. It would be good to have a listener in logback which stops the default context for web-apps (which I'm planning to use anyway) something like:
public class BruteContextDetachingSCL implements ServletContextListener {
public void contextDestroyed(ServletContextEvent servletContextEvent)
{ ContextSelector selector = ContextSelectorStaticBinder.getSingleton().getContextSelector(); LoggerContext context = selector.getDefaultLoggerContext(); System.out.println("Stopping the default logger context"); context.stop(); }public void contextInitialized(ServletContextEvent arg0)
{ // do nothing }}
I might be wrong here, but it seems to work and might help while the root-cause is resolved.