@Override public void append(LogEvent event) { setupAppenderIfRequired(event); if (appenderControl.get() != null) { if (!(event.getMarker() != null && event.getMarker().getName() != null && event.getMarker().getName().equals(Log4jQueryCompleteMarker.EOF_MARKER))) { appenderControl.get().callAppender(event); } else { LOGGER.debug("Not forwarding message with maker={}, marker.getName={}", event.getMarker(), (event.getMarker() == null ? "nullMarker" : event.getMarker().getName())); } } }
@Override public void update(String key, LogEvent event) { Marker marker = event.getMarker(); if (marker != null && marker.getName() != null && marker.getName().equals(Log4jQueryCompleteMarker.EOF_MARKER)) { LOGGER.debug("Received " + Log4jQueryCompleteMarker.EOF_MARKER + " for key. Attempting cleanup."); keyComplete(key); } else { if (knownAppenders.add(key)) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Registered key: [" + key + "] on purgePolicyWithName=" + name + ", thisAddress=" + System.identityHashCode(this)); } } } }
final Marker marker = event.getMarker(); messages.add(InternalLogMessage.create( event.getMessage().getFormattedMessage(),
protected void assertLogEvent(final LogEvent logEvent) { assertThat(logEvent, is(notNullValue())); assertThat(logEvent.getInstant().getEpochMillisecond(), equalTo(1493121664118L)); assertThat(logEvent.getThreadName(), equalTo("main")); assertThat(logEvent.getThreadId(), equalTo(1L)); assertThat(logEvent.getThreadPriority(), equalTo(5)); assertThat(logEvent.getLevel(), equalTo(Level.INFO)); assertThat(logEvent.getLoggerName(), equalTo("HelloWorld")); assertThat(logEvent.getMarker().getName(), equalTo("child")); assertThat(logEvent.getMarker().getParents()[0].getName(), equalTo("parent")); assertThat(logEvent.getMarker().getParents()[0].getParents()[0].getName(), equalTo("grandparent")); assertThat(logEvent.getMessage().getFormattedMessage(), equalTo("Hello, world!")); assertThat(logEvent.getThrown(), is(nullValue())); assertThat(logEvent.getThrownProxy().getMessage(), equalTo("error message")); assertThat(logEvent.getThrownProxy().getName(), equalTo("java.lang.RuntimeException")); assertThat(logEvent.getThrownProxy().getExtendedStackTrace()[0].getClassName(), equalTo("logtest.Main")); assertThat(logEvent.getLoggerFqcn(), equalTo("org.apache.logging.log4j.spi.AbstractLogger")); assertThat(logEvent.getContextStack().asList(), equalTo(Arrays.asList("one", "two"))); assertThat((String) logEvent.getContextData().getValue("foo"), equalTo("FOO")); assertThat((String) logEvent.getContextData().getValue("bar"), equalTo("BAR")); assertThat(logEvent.getSource().getClassName(), equalTo("logtest.Main")); } }
@SuppressWarnings("deprecation") static void assertEqualLogEvents(final LogEvent expected, final LogEvent actual, final boolean includeSource, final boolean includeContext, final boolean includeStacktrace) { assertEquals(expected.getClass(), actual.getClass()); assertEquals(includeContext ? expected.getContextData() : ContextDataFactory.createContextData(), actual.getContextData()); assertEquals(includeContext ? expected.getContextMap() : Collections.EMPTY_MAP, actual.getContextMap()); assertEquals(expected.getContextStack(), actual.getContextStack()); assertEquals(expected.getLevel(), actual.getLevel()); assertEquals(expected.getLoggerName(), actual.getLoggerName()); assertEquals(expected.getLoggerFqcn(), actual.getLoggerFqcn()); assertEquals(expected.getMarker(), actual.getMarker()); assertEquals(expected.getMessage(), actual.getMessage()); assertEquals(expected.getTimeMillis(), actual.getTimeMillis()); assertEquals(includeSource ? expected.getSource() : null, actual.getSource()); assertEquals(expected.getThreadName(), actual.getThreadName()); assertNotNull("original should have an exception", expected.getThrown()); assertNull("exception should not be serialized", actual.getThrown()); if (includeStacktrace) { // TODO should compare the rest of the ThrowableProxy assertEquals(expected.getThrownProxy(), actual.getThrownProxy()); } assertEquals(expected.isEndOfBatch(), actual.isEndOfBatch()); assertEquals(expected.isIncludeLocation(), actual.isIncludeLocation()); // original: non-null thrown & null thrownProxy // deserialized: null thrown & non-null thrownProxy assertNotEquals(expected.hashCode(), actual.hashCode()); assertNotEquals(expected, actual); }
@SuppressWarnings("deprecation") private void compareLogEvents(final LogEvent orig, final LogEvent changed) { // Ensure that everything but the Mapped Data is still the same assertEquals("LoggerName changed", orig.getLoggerName(), changed.getLoggerName()); assertEquals("Marker changed", orig.getMarker(), changed.getMarker()); assertEquals("FQCN changed", orig.getLoggerFqcn(), changed.getLoggerFqcn()); assertEquals("Level changed", orig.getLevel(), changed.getLevel()); assertArrayEquals("Throwable changed", orig.getThrown() == null ? null : orig.getThrownProxy().getExtendedStackTrace(), changed.getThrown() == null ? null : changed.getThrownProxy().getExtendedStackTrace() ); assertEquals("ContextMap changed", orig.getContextMap(), changed.getContextMap()); assertEquals("ContextData changed", orig.getContextData(), changed.getContextData()); assertEquals("ContextStack changed", orig.getContextStack(), changed.getContextStack()); assertEquals("ThreadName changed", orig.getThreadName(), changed.getThreadName()); assertEquals("Source changed", orig.getSource(), changed.getSource()); assertEquals("Millis changed", orig.getTimeMillis(), changed.getTimeMillis()); } }
assertSame(fqcn, e2.getLoggerFqcn()); assertSame(name, e2.getLoggerName()); assertSame(marker, e2.getMarker()); assertSame(message, e2.getMessage()); assertEquals(1234567890L, e2.getNanoTime());
assertEquals(evt.getMarker(), actual.getMarker()); assertEquals(evt.getLoggerFqcn(), actual.getLoggerFqcn()); assertEquals(evt.getLevel(), actual.getLevel());
assertSame(fqcn, event2.getLoggerFqcn()); assertSame(name, event2.getLoggerName()); assertSame(marker, event2.getMarker()); assertSame(message, event2.getMessage()); assertEquals(1234567890L, event2.getNanoTime());
@Override public void append(LogEvent event) { setupAppenderIfRequired(event); if (appenderControl.get() != null) { if (!(event.getMarker() != null && event.getMarker().getName() != null && event.getMarker().getName().equals(Log4jQueryCompleteMarker.EOF_MARKER))) { appenderControl.get().callAppender(event); } else { LOGGER.debug("Not forwarding message with maker={}, marker.getName={}", event.getMarker(), (event.getMarker() == null ? "nullMarker" : event.getMarker().getName())); } } }
public class FatalRewritePolicy implements RewritePolicy { public static final String FATAL = "FATAL"; @Override public LogEvent rewrite(final LogEvent logEvent) { final Marker marker = logEvent.getMarker(); if (marker == null) return logEvent; // Log Level is final in the LogEvent, there's no way we can modify it. Level level = logEvent.getLevel(); return null; } }
@Override public Result filter(LogEvent event) { // make sure the event has a marker org.apache.logging.log4j.Marker eventMarker = event.getMarker(); if (eventMarker == null) { return Result.NEUTRAL; } return filter(eventMarker); }
@Override public String lookup(final LogEvent event, final String key) { final Marker marker = event == null ? null : event.getMarker(); return marker == null ? null : marker.getName(); }
/** * {@inheritDoc} */ @Override public void format(final LogEvent event, final StringBuilder toAppendTo) { final Marker marker = event.getMarker(); if (marker != null) { StringBuilders.appendValue(toAppendTo, marker); } } }
/** * {@inheritDoc} */ @Override public void format(final LogEvent event, final StringBuilder toAppendTo) { final Marker marker = event.getMarker(); if (marker != null) { toAppendTo.append(marker.getName()); } } }
@Override public Result filter(LogEvent event) { // make sure the event has a marker org.apache.logging.log4j.Marker eventMarker = event.getMarker(); if (eventMarker == null) { return Result.DENY; } return filter(eventMarker); }
import org.apache.logging.log4j.Marker; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.config.plugins.Plugin; import org.apache.logging.log4j.core.lookup.StrLookup; @Plugin(name = "marker", category = "Lookup") public class MarkerLookup implements StrLookup { public String lookup(String key) { return null } public String lookup(LogEvent event, String key) { final Marker marker = event.getMarker(); return marker == null ? null : marker.getName(); } }
private void initMarker(org.apache.logging.log4j.core.LogEvent src, LoggingEvent dst) { org.apache.logging.log4j.Marker origMarker = src.getMarker(); if(origMarker == null) { return; } Map<String, Marker> markers = new HashMap<>(); dst.setMarker(initMarkerRecursive(origMarker, markers)); }
/** * Gets the marker. Annotated with {@code @Convert(converter = MarkerAttributeConverter.class)}. * * @return the marker. * @see MarkerAttributeConverter */ @Override @Convert(converter = MarkerAttributeConverter.class) public Marker getMarker() { return this.getWrappedEvent().getMarker(); }
public void log(final LogEvent event) { if (event == null) { return; } final Logger logger = context.getLogger(event.getLoggerName()); if (logger.privateConfig.filter(event.getLevel(), event.getMarker(), event.getMessage(), event.getThrown())) { logger.privateConfig.logEvent(event); } } }