I hit the very the same error as Fab while trying to replace JBoss logging with logback 1.0.11 on a JBoss 8.0.0.Alpha1 snapshot version. Unfortunately the exception message is not complete. The last part is missing. The logger to be created is named as follows:
org.jboss.as.clustering.impl.CoreGroupCommunicationService$ViewChangeEventProcessor.AsynchViewChangeHandler
To solve this problem i rewrote method ch.qos.logback.classic.util.LoggerNameUtil.getSeparatorIndexOf() to treat DOT and DOLLAR constants with the same priority. Just replace said method with the following and it will work as expected:
public static int getSeparatorIndexOf(String name, int fromIndex)
{
int dotIndex = name.indexOf(CoreConstants.DOT, fromIndex);
int dollarIndex = name.indexOf(CoreConstants.DOLLAR, fromIndex);
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
org.jboss.as.clustering.impl.CoreGroupCommunicationService$ViewChangeEventProcessor.AsynchViewChangeHandler
To solve this problem i rewrote method ch.qos.logback.classic.util.LoggerNameUtil.getSeparatorIndexOf() to treat DOT and DOLLAR constants with the same priority. Just replace said method with the following and it will work as expected:
public static int getSeparatorIndexOf(String name, int fromIndex)
{
int dotIndex = name.indexOf(CoreConstants.DOT, fromIndex);
int dollarIndex = name.indexOf(CoreConstants.DOLLAR, fromIndex);
if (dotIndex == -1 && dollarIndex == -1) return -1;
if (dotIndex == -1) return dollarIndex;
if (dollarIndex == -1) return dotIndex;
return dotIndex < dollarIndex ? dotIndex : dollarIndex;
}
The relevant loggers are now created in the expected way:
1. org.jboss.as.clustering.impl
2. org.jboss.as.clustering.impl.CoreGroupCommunicationService
3. org.jboss.as.clustering.impl.CoreGroupCommunicationService$ViewChangeEventProcessor
4. org.jboss.as.clustering.impl.CoreGroupCommunicationService$ViewChangeEventProcessor.AsynchViewChangeHandler