private void testFirstConverter(final String pattern, final Class<?> checkClass) { final List<PatternFormatter> formatters = parser.parse(pattern); assertNotNull(formatters); final String msg = formatters.toString(); assertEquals(msg, 1, formatters.size()); assertTrue(msg, checkClass.isInstance(formatters.get(0).getConverter())); }
private void validateConverter(final List<PatternFormatter> formatter, final int index, final String name) { final PatternConverter pc = formatter.get(index).getConverter(); assertEquals("Incorrect converter " + pc.getName() + " at index " + index + " expected " + name, pc.getName(), name); }
@Test public void testExceptionWithFilters() { final List<PatternFormatter> formatters = parser .parse("%d{DEFAULT} - %msg - %xEx{full}{filters(org.junit,org.eclipse)}%n"); assertNotNull(formatters); assertEquals(6, formatters.size()); final PatternFormatter patternFormatter = formatters.get(4); final LogEventPatternConverter converter = patternFormatter.getConverter(); assertEquals(ExtendedThrowablePatternConverter.class, converter.getClass()); final ExtendedThrowablePatternConverter exConverter = (ExtendedThrowablePatternConverter) converter; final ThrowableFormatOptions options = exConverter.getOptions(); assertTrue(options.getIgnorePackages().contains("org.junit")); assertTrue(options.getIgnorePackages().contains("org.eclipse")); assertEquals(System.lineSeparator(), options.getSeparator()); }
@Test public void testExceptionWithFiltersAndSeparator() { final List<PatternFormatter> formatters = parser .parse("%d{DEFAULT} - %msg - %xEx{full}{filters(org.junit,org.eclipse)}{separator(|)}%n"); assertNotNull(formatters); assertEquals(6, formatters.size()); final PatternFormatter patternFormatter = formatters.get(4); final LogEventPatternConverter converter = patternFormatter.getConverter(); assertEquals(ExtendedThrowablePatternConverter.class, converter.getClass()); final ExtendedThrowablePatternConverter exConverter = (ExtendedThrowablePatternConverter) converter; final ThrowableFormatOptions options = exConverter.getOptions(); final List<String> ignorePackages = options.getIgnorePackages(); assertNotNull(ignorePackages); final String ignorePackagesString = ignorePackages.toString(); assertTrue(ignorePackagesString, ignorePackages.contains("org.junit")); assertTrue(ignorePackagesString, ignorePackages.contains("org.eclipse")); assertEquals("|", options.getSeparator()); }
/** * {@inheritDoc} */ @Override public void format(final LogEvent event, final StringBuilder toAppendTo) { final int start = toAppendTo.length(); boolean allVarsEmpty = true; boolean hasVars = false; for (int i = 0; i < formatters.size(); i++) { final PatternFormatter formatter = formatters.get(i); final int formatterStart = toAppendTo.length(); formatter.format(event, toAppendTo); if (formatter.getConverter().isVariable()) { hasVars = true; allVarsEmpty = allVarsEmpty && (toAppendTo.length() == formatterStart); } } if (!hasVars || allVarsEmpty) { toAppendTo.setLength(start); // remove formatter results } } }