@Override public boolean handlesThrowable() { for (PatternFormatter formatter : this.formatters) { if (formatter.handlesThrowable()) { return true; } } return super.handlesThrowable(); }
private ExtendedWhitespaceThrowablePatternConverter(Configuration configuration, String[] options) { super("WhitespaceExtendedThrowable", "throwable", options, configuration); this.delegate = ExtendedThrowablePatternConverter.newInstance(configuration, options); }
private void testReplacement(final String tag, final String expectedValue) { final String[] options = new String[]{"[" + tag + "]", "[]", expectedValue}; testReplacement(expectedValue, options); }
@Test public void testFormatStringBuilderObjectArrayIso8601() { final DatePatternConverter converter = DatePatternConverter.newInstance(ISO8601_FORMAT_OPTIONS); final StringBuilder sb = new StringBuilder(); converter.format(sb, date(2001, 1, 1), date(2002, 2, 2), date(2003, 3, 3)); final String expected = "2001-02-01T14:15:16,123"; // only process first date assertEquals(expected, sb.toString()); }
private void parse(final String pattern, final boolean convert, final StringBuilder buf, final Date date, final int i) { final PatternParser parser0 = new PatternParser(null, "Converter", null); final List<PatternConverter> converters = new ArrayList<>(); final List<FormattingInfo> fields = new ArrayList<>(); parser0.parse(pattern, converters, fields, false, false, convert); final FormattingInfo[] infoArray = new FormattingInfo[fields.size()]; final FormattingInfo[] patternFields = fields.toArray(infoArray); final ArrayPatternConverter[] converterArray = new ArrayPatternConverter[converters.size()]; final ArrayPatternConverter[] patternConverters = converters.toArray(converterArray); formatFileName(patternConverters, patternFields, buf, date, i); }
@Test public void testFormatLogEventStringBuilderIso8601() { final LogEvent event = new MyLogEvent(); final DatePatternConverter converter = DatePatternConverter.newInstance(ISO8601_FORMAT_OPTIONS); final StringBuilder sb = new StringBuilder(); converter.format(event, sb); final String expected = "2011-12-30T10:56:35,987"; assertEquals(expected, sb.toString()); }
/** * Format file name. * * @param buf string buffer to which formatted file name is appended, may not be null. * @param objects objects to be evaluated in formatting, may not be null. */ protected final void formatFileName(final ArrayPatternConverter[] patternConverters, final FormattingInfo[] patternFields, final StringBuilder buf, final Object... objects) { for (int i = 0; i < patternConverters.length; i++) { final int fieldStart = buf.length(); patternConverters[i].format(buf, objects); if (patternFields[i] != null) { patternFields[i].format(fieldStart, buf); } } } }
@Test public void testLevelNamesGood() { String colorName = "red"; final String[] options = { "%-5level: %msg", PatternParser.NO_CONSOLE_NO_ANSI + "=false, " + PatternParser.DISABLE_ANSI + "=false, " + "DEBUG=" + colorName + ", TRACE=" + colorName }; final HighlightConverter converter = HighlightConverter.newInstance(null, options); Assert.assertNotNull(converter); Assert.assertEquals(AnsiEscape.createSequence(colorName), converter.getLevelStyle(Level.TRACE)); Assert.assertEquals(AnsiEscape.createSequence(colorName), converter.getLevelStyle(Level.DEBUG)); }
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); }
private void testThreadPriorityPattern(final String pattern) { testFirstConverter(pattern, ThreadPriorityPatternConverter.class); }
@Test public void testParseSubstitutionWithPattern() { testParseSubstitution("%msg", TEST_MESSAGE); }
@Test public void testNestedPatternHighlight() { testNestedPatternHighlight(Level.TRACE, "\u001B[30m"); testNestedPatternHighlight(Level.DEBUG, "\u001B[36m"); testNestedPatternHighlight(Level.INFO, "\u001B[32m"); testNestedPatternHighlight(Level.WARN, "\u001B[33m"); testNestedPatternHighlight(Level.ERROR, "\u001B[1;31m"); testNestedPatternHighlight(Level.FATAL, "\u001B[1;31m"); }
@Test public void testMarkerSimpleNameReplacement() { testReplacement("%markerSimpleName", Strings.EMPTY); }
@Override public Instant getInstant() { MutableInstant result = new MutableInstant(); result.initFromEpochMilli(getTimeMillis(), 123456); return result; } }
@Test public void testFormatStringBuilderObjectArrayDefaultPattern() { final DatePatternConverter converter = DatePatternConverter.newInstance(null); final StringBuilder sb = new StringBuilder(); converter.format(sb, date(2001, 1, 1), date(2002, 2, 2), date(2003, 3, 3)); final String expected = "2001-02-01 14:15:16,123"; // only process first date assertEquals(expected, sb.toString()); }
private void testThreadIdPattern(final String pattern) { testFirstConverter(pattern, ThreadIdPatternConverter.class); }
@Test public void testParseSubstitutionWithWhiteSpaces() { testParseSubstitution(" ", " "); }
@Test public void testFormatDateStringBuilderDefaultPattern() { final DatePatternConverter converter = DatePatternConverter.newInstance(null); final StringBuilder sb = new StringBuilder(); converter.format(date(2001, 1, 1), sb); final String expected = "2001-02-01 14:15:16,123"; assertEquals(expected, sb.toString()); }
private void testThreadNamePattern(final String pattern) { testFirstConverter(pattern, ThreadNamePatternConverter.class); }
@Test public void testFormatDateStringBuilderIso8601() { final DatePatternConverter converter = DatePatternConverter.newInstance(ISO8601_FORMAT_OPTIONS); final StringBuilder sb = new StringBuilder(); converter.format(date(2001, 1, 1), sb); final String expected = "2001-02-01T14:15:16,123"; assertEquals(expected, sb.toString()); }