LogAppender implements PaxAppender { protected final String cleanLoggerName(String loggerName) { Matcher matcher = PATTERN.matcher(loggerName); if (matcher.find()) { return matcher.replaceAll("_"); } else { return loggerName; } }  @SuppressWarnings("unchecked") @Activate void activate(ComponentContext context); void doAppend(PaxLoggingEvent event); @Reference
    public EventAdmin dispatcher; }
@Test public void testCleanLoggerName() { LogAppender appender = new LogAppender(); String loggerName = "wrong$Pattern%For&event!Name"; String cleanedLoggerName = appender.cleanLoggerName(loggerName); assertThat(cleanedLoggerName, not(containsString("%"))); assertThat(cleanedLoggerName, not(containsString("$"))); assertThat(cleanedLoggerName, not(containsString("&"))); assertThat(cleanedLoggerName, not(containsString("!"))); assertThat(cleanedLoggerName, containsString("_")); }