@Test public void testDefaultCharset() { final AbstractCsvLayout layout = CsvLogEventLayout.createDefaultLayout(); assertEquals(StandardCharsets.UTF_8, layout.getCharset()); }
private void testLayout(final CSVFormat format) { testLayout(format, CsvLogEventLayout.createLayout(format), null, null); }
@PluginFactory public static CsvLogEventLayout createLayout( // @formatter:off @PluginConfiguration final Configuration config, @PluginAttribute(value = "format", defaultString = DEFAULT_FORMAT) final String format, @PluginAttribute("delimiter") final Character delimiter, @PluginAttribute("escape") final Character escape, @PluginAttribute("quote") final Character quote, @PluginAttribute("quoteMode") final QuoteMode quoteMode, @PluginAttribute("nullString") final String nullString, @PluginAttribute("recordSeparator") final String recordSeparator, @PluginAttribute(value = "charset", defaultString = DEFAULT_CHARSET) final Charset charset, @PluginAttribute("header") final String header, @PluginAttribute("footer") final String footer) // @formatter:on { final CSVFormat csvFormat = createFormat(format, delimiter, escape, quote, quoteMode, nullString, recordSeparator); return new CsvLogEventLayout(config, charset, csvFormat, header, footer); }
@Override public String toSerializable(final LogEvent event) { final StringBuilder buffer = getStringBuilder(); final CSVFormat format = getFormat(); try { format.print(event.getNanoTime(), buffer, true); format.print(event.getTimeMillis(), buffer, false); format.print(event.getLevel(), buffer, false); format.print(event.getThreadId(), buffer, false); format.print(event.getThreadName(), buffer, false); format.print(event.getThreadPriority(), buffer, false); format.print(event.getMessage().getFormattedMessage(), buffer, false); format.print(event.getLoggerFqcn(), buffer, false); format.print(event.getLoggerName(), buffer, false); format.print(event.getMarker(), buffer, false); format.print(event.getThrownProxy(), buffer, false); format.print(event.getSource(), buffer, false); format.print(event.getContextData(), buffer, false); format.print(event.getContextStack(), buffer, false); format.println(buffer); return buffer.toString(); } catch (final IOException e) { StatusLogger.getLogger().error(event.toString(), e); return format.getCommentMarker() + " " + e; } }
public static CsvLogEventLayout createDefaultLayout() { return new CsvLogEventLayout(null, Charset.forName(DEFAULT_CHARSET), CSVFormat.valueOf(DEFAULT_FORMAT), null, null); }
@Test public void testHeaderFooter() { final String header = "# Header"; final String footer = "# Footer "; final AbstractCsvLayout layout = CsvLogEventLayout.createLayout(ctx.getConfiguration(), "Excel", null, null, null, null, null, null, null, header, footer); testLayout(CSVFormat.DEFAULT, layout, header, footer); }
@Test public void testDefaultContentType() { final AbstractCsvLayout layout = CsvLogEventLayout.createDefaultLayout(); assertEquals("text/csv; charset=UTF-8", layout.getContentType()); }
@Test public void testCustomCharset() { final AbstractCsvLayout layout = CsvLogEventLayout.createLayout(null, "Excel", null, null, null, null, null, null, StandardCharsets.UTF_16, null, null); assertEquals("text/csv; charset=UTF-16", layout.getContentType()); }