@Test public void testAdditionalFields() throws Exception { final AbstractJacksonLayout layout = YamlLayout.newBuilder() .setLocationInfo(false) .setProperties(false) .setIncludeStacktrace(false) .setAdditionalFields(new KeyValuePair[] { new KeyValuePair("KEY1", "VALUE1"), new KeyValuePair("KEY2", "${java:runtime}"), }) .setCharset(StandardCharsets.UTF_8) .setConfiguration(ctx.getConfiguration()) .build(); final String str = layout.toSerializable(LogEventFixtures.createLogEvent()); assertTrue(str, str.contains("KEY1: \"VALUE1\"")); assertTrue(str, str.contains("KEY2: \"" + new JavaLookup().getRuntime() + "\"")); }
.setLocationInfo(true) .setProperties(true) .setIncludeStacktrace(true) .setConfiguration(configuration) .build();
.setLocationInfo(includeSource) .setProperties(includeContext) .setIncludeStacktrace(includeStacktrace) .setCharset(StandardCharsets.UTF_8) .build();
@Test public void testLayoutLoggerName() throws Exception { final AbstractJacksonLayout layout = YamlLayout.newBuilder() .setLocationInfo(false) .setProperties(false) .setIncludeStacktrace(true) .setCharset(StandardCharsets.UTF_8) .build(); final Log4jLogEvent expected = Log4jLogEvent.newBuilder() // .setLoggerName("a.B") // .setLoggerFqcn("f.q.c.n") // .setLevel(Level.DEBUG) // .setMessage(new SimpleMessage("M")) // .setThreadName("threadName") // .setTimeMillis(1).build(); final String str = layout.toSerializable(expected); assertTrue(str, str.contains("loggerName: \"a.B\"")); final Log4jLogEvent actual = new Log4jYamlObjectMapper(false, true, false).readValue(str, Log4jLogEvent.class); assertEquals(expected.getLoggerName(), actual.getLoggerName()); assertEquals(expected, actual); }
private String prepareYAMLForStacktraceTests(final boolean stacktraceAsString) { final Log4jLogEvent expected = LogEventFixtures.createLogEvent(); // @formatter:off final AbstractJacksonLayout layout = YamlLayout.newBuilder() .setIncludeStacktrace(true) .setStacktraceAsString(stacktraceAsString) .build(); // @formatter:off return layout.toSerializable(expected); }