@Test public void testConverterFalse() { final LogEvent event = Log4jLogEvent.newBuilder() .build(); final StringBuilder sb = new StringBuilder(); final LogEventPatternConverter converter = EndOfBatchPatternConverter.newInstance(null); converter.format(event, sb); assertEquals("false", sb.toString()); }
@Override public boolean handlesThrowable() { for (PatternFormatter formatter : this.formatters) { if (formatter.handlesThrowable()) { return true; } } return super.handlesThrowable(); }
/** * {@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 } } }
@Test public void testConverter() { final LogEvent event = Log4jLogEvent.newBuilder() .setLoggerFqcn(FQCN).build(); final StringBuilder sb = new StringBuilder(); final LogEventPatternConverter converter = LoggerFqcnPatternConverter.newInstance(null); converter.format(event, sb); assertEquals(FQCN, sb.toString()); } }
/** * Normally pattern formatters are not meant to handle Exceptions although few pattern formatters might. * <p> * By examining the return values for this method, the containing layout will determine whether it handles * throwables or not. * </p> * * @return true if this PatternConverter handles throwables */ public boolean handlesThrowable() { return converter.handlesThrowable(); }
@Test public void testConverterTrue() { final LogEvent event = Log4jLogEvent.newBuilder() .setEndOfBatch(true).build(); final StringBuilder sb = new StringBuilder(); final LogEventPatternConverter converter = EndOfBatchPatternConverter.newInstance(null); converter.format(event, sb); assertEquals("true", sb.toString()); }
if (converter instanceof LogEventPatternConverter) { pc = (LogEventPatternConverter) converter; handlesThrowable |= pc.handlesThrowable(); } else { pc = new LiteralPatternConverter(config, Strings.EMPTY, true);
/** * {@inheritDoc} */ @Override public void format(final Object obj, final StringBuilder output) { if (obj instanceof LogEvent) { format((LogEvent) obj, output); } }
public void format(final LogEvent event, final StringBuilder buf) { if (skipFormattingInfo) { converter.format(event, buf); } else { formatWithInfo(event, buf); } } private void formatWithInfo(final LogEvent event, final StringBuilder buf) {
private void formatWithInfo(final LogEvent event, final StringBuilder buf) { final int startField = buf.length(); converter.format(event, buf); field.format(startField, buf); }
/** * {@inheritDoc} */ @Override public void format(final Object obj, final StringBuilder output) { if (obj instanceof Date) { format((Date) obj, output); } super.format(obj, output); }