private void testReplacement(final String expectedValue, final String[] options) { final LogEvent event = Log4jLogEvent.newBuilder() // .setLoggerName(EqualsReplacementConverterTest.class.getName()) // .setLevel(Level.DEBUG) // .setMessage(new SimpleMessage(TEST_MESSAGE)) // .build(); final StringBuilder sb = new StringBuilder(); final LoggerContext ctx = LoggerContext.getContext(); final EqualsReplacementConverter converter = EqualsReplacementConverter.newInstance(ctx.getConfiguration(), options); converter.format(event, sb); assertEquals(expectedValue, sb.toString()); }
private void testParseSubstitution(final String substitution, final String expected) { final LogEvent event = Log4jLogEvent.newBuilder() .setLoggerName(EqualsReplacementConverterTest.class.getName()) .setLevel(Level.DEBUG) .setMessage(new SimpleMessage(TEST_MESSAGE)) .build(); final LoggerContext ctx = LoggerContext.getContext(); final EqualsReplacementConverter converter = EqualsReplacementConverter.newInstance(ctx.getConfiguration(), new String[]{"[%marker]", "[]", substitution}); final StringBuilder sb = new StringBuilder(); converter.parseSubstitution(event, sb); final String actual = sb.toString(); assertEquals(expected, actual); } }
/** * Gets an instance of the class. * * @param config The current Configuration. * @param options pattern options, an array of three elements: pattern, testString, and substitution. * @return instance of class. */ public static EqualsReplacementConverter newInstance(final Configuration config, final String[] options) { if (options.length != 3) { LOGGER.error("Incorrect number of options on equals. Expected 3 received " + options.length); return null; } if (options[0] == null) { LOGGER.error("No pattern supplied on equals"); return null; } if (options[1] == null) { LOGGER.error("No test string supplied on equals"); return null; } if (options[2] == null) { LOGGER.error("No substitution supplied on equals"); return null; } final String p = options[1]; final PatternParser parser = PatternLayout.createPatternParser(config); final List<PatternFormatter> formatters = parser.parse(options[0]); return new EqualsReplacementConverter(formatters, p, options[2], parser); }