Search in sources :

Example 26 with Level

use of org.apache.logging.log4j.Level in project logging-log4j2 by apache.

the class LogEventFixture method createFullLogEvent.

private static LogEvent createFullLogEvent(final String id, final long timeMillis) {
    // Create exception.
    final Exception sourceHelper = new Exception();
    sourceHelper.fillInStackTrace();
    final Exception cause = new NullPointerException("testNPEx-" + id);
    sourceHelper.fillInStackTrace();
    final StackTraceElement source = sourceHelper.getStackTrace()[0];
    final IOException ioException = new IOException("testIOEx-" + id, cause);
    ioException.addSuppressed(new IndexOutOfBoundsException("I am suppressed exception 1" + id));
    ioException.addSuppressed(new IndexOutOfBoundsException("I am suppressed exception 2" + id));
    // Create rest of the event attributes.
    final SimpleMessage message = new SimpleMessage("full LogEvent message " + id);
    final StringMap contextData = createContextData(id);
    final ThreadContextStack contextStack = createContextStack(id);
    final int threadId = id.hashCode();
    final String threadName = "MyThreadName" + id;
    final int threadPriority = threadId % 10;
    final Level level = Level.DEBUG;
    final String loggerFqcn = "f.q.c.n" + id;
    final String loggerName = "a.B" + id;
    final long nanoTime = timeMillis * 2;
    // Create the event.
    return Log4jLogEvent.newBuilder().setLoggerName(loggerName).setLoggerFqcn(loggerFqcn).setLevel(level).setMessage(message).setThrown(ioException).setContextData(contextData).setContextStack(contextStack).setThreadId(threadId).setThreadName(threadName).setThreadPriority(threadPriority).setSource(source).setTimeMillis(timeMillis).setNanoTime(nanoTime).build();
}
Also used : MutableThreadContextStack(org.apache.logging.log4j.spi.MutableThreadContextStack) ThreadContextStack(org.apache.logging.log4j.spi.ThreadContextStack) StringMap(org.apache.logging.log4j.util.StringMap) SimpleMessage(org.apache.logging.log4j.message.SimpleMessage) Level(org.apache.logging.log4j.Level) IOException(java.io.IOException) IOException(java.io.IOException)

Example 27 with Level

use of org.apache.logging.log4j.Level in project logging-log4j2 by apache.

the class JsonTemplateLayoutTest method test_PatternResolver.

@Test
void test_PatternResolver() {
    // Create the event template.
    final String eventTemplate = writeJson(asMap("message", asMap("$resolver", "pattern", "pattern", "%p:%m")));
    // Create the layout.
    final JsonTemplateLayout layout = JsonTemplateLayout.newBuilder().setConfiguration(CONFIGURATION).setEventTemplate(eventTemplate).build();
    // Create the log event.
    final SimpleMessage message = new SimpleMessage("foo");
    final Level level = Level.FATAL;
    final LogEvent logEvent = Log4jLogEvent.newBuilder().setLoggerName(LOGGER_NAME).setMessage(message).setLevel(level).build();
    // Check the serialized event.
    usingSerializedLogEventAccessor(layout, logEvent, accessor -> {
        final String expectedMessage = String.format("%s:%s", level, message.getFormattedMessage());
        assertThat(accessor.getString("message")).isEqualTo(expectedMessage);
    });
}
Also used : LogEvent(org.apache.logging.log4j.core.LogEvent) Log4jLogEvent(org.apache.logging.log4j.core.impl.Log4jLogEvent) SimpleMessage(org.apache.logging.log4j.message.SimpleMessage) Level(org.apache.logging.log4j.Level) Test(org.junit.jupiter.api.Test)

Example 28 with Level

use of org.apache.logging.log4j.Level in project logging-log4j2 by apache.

the class JsonTemplateLayoutTest method test_event_template_additional_fields.

@Test
void test_event_template_additional_fields() {
    // Create the log event.
    final SimpleMessage message = new SimpleMessage("Hello, World!");
    final RuntimeException exception = NonAsciiUtf8MethodNameContainingException.INSTANCE;
    final Level level = Level.ERROR;
    final LogEvent logEvent = Log4jLogEvent.newBuilder().setLoggerName(LOGGER_NAME).setLevel(level).setMessage(message).setThrown(exception).build();
    // Create the event template.
    final String eventTemplate = "{}";
    // Create the layout.
    final EventTemplateAdditionalField[] additionalFields = { EventTemplateAdditionalField.newBuilder().setKey("number").setValue("1").setFormat(EventTemplateAdditionalField.Format.JSON).build(), EventTemplateAdditionalField.newBuilder().setKey("string").setValue("foo").build(), EventTemplateAdditionalField.newBuilder().setKey("level").setValue("{\"$resolver\": \"level\", \"field\": \"name\"}").setFormat(EventTemplateAdditionalField.Format.JSON).build() };
    final JsonTemplateLayout layout = JsonTemplateLayout.newBuilder().setConfiguration(CONFIGURATION).setStackTraceEnabled(true).setEventTemplate(eventTemplate).setEventTemplateAdditionalFields(additionalFields).build();
    // Check the serialized event.
    usingSerializedLogEventAccessor(layout, logEvent, accessor -> {
        assertThat(accessor.getInteger("number")).isEqualTo(1);
        assertThat(accessor.getString("string")).isEqualTo("foo");
        assertThat(accessor.getString("level")).isEqualTo(level.name());
    });
}
Also used : LogEvent(org.apache.logging.log4j.core.LogEvent) Log4jLogEvent(org.apache.logging.log4j.core.impl.Log4jLogEvent) SimpleMessage(org.apache.logging.log4j.message.SimpleMessage) Level(org.apache.logging.log4j.Level) EventTemplateAdditionalField(org.apache.logging.log4j.layout.template.json.JsonTemplateLayout.EventTemplateAdditionalField) Test(org.junit.jupiter.api.Test)

Example 29 with Level

use of org.apache.logging.log4j.Level in project logging-log4j2 by apache.

the class StatusLogger method registerListener.

/**
 * Registers a new listener.
 *
 * @param listener The StatusListener to register.
 */
public void registerListener(final StatusListener listener) {
    listenersLock.writeLock().lock();
    try {
        listeners.add(listener);
        final Level lvl = listener.getStatusLevel();
        if (listenersLevel < lvl.intLevel()) {
            listenersLevel = lvl.intLevel();
        }
    } finally {
        listenersLock.writeLock().unlock();
    }
}
Also used : Level(org.apache.logging.log4j.Level)

Example 30 with Level

use of org.apache.logging.log4j.Level in project logging-log4j2 by apache.

the class AsyncQueueFullPolicyFactoryTest method testCreateDiscardingRouterThresholdLevelCustomizable.

@Test
public void testCreateDiscardingRouterThresholdLevelCustomizable() throws Exception {
    System.setProperty(AsyncQueueFullPolicyFactory.PROPERTY_NAME_ASYNC_EVENT_ROUTER, AsyncQueueFullPolicyFactory.PROPERTY_VALUE_DISCARDING_ASYNC_EVENT_ROUTER);
    for (final Level level : Level.values()) {
        System.setProperty(AsyncQueueFullPolicyFactory.PROPERTY_NAME_DISCARDING_THRESHOLD_LEVEL, level.name());
        assertEquals(level, ((DiscardingAsyncQueueFullPolicy) AsyncQueueFullPolicyFactory.create()).getThresholdLevel());
    }
}
Also used : Level(org.apache.logging.log4j.Level) Test(org.junit.Test)

Aggregations

Level (org.apache.logging.log4j.Level)152 Test (org.junit.Test)31 LoggerContext (org.apache.logging.log4j.core.LoggerContext)27 LoggerConfig (org.apache.logging.log4j.core.config.LoggerConfig)27 Logger (org.apache.logging.log4j.Logger)25 SimpleMessage (org.apache.logging.log4j.message.SimpleMessage)25 Message (org.apache.logging.log4j.message.Message)23 Marker (org.apache.logging.log4j.Marker)21 Configuration (org.apache.logging.log4j.core.config.Configuration)21 Map (java.util.Map)16 HashMap (java.util.HashMap)14 LogEvent (org.apache.logging.log4j.core.LogEvent)13 Test (org.junit.jupiter.api.Test)12 ContextStack (org.apache.logging.log4j.ThreadContext.ContextStack)11 StringMap (org.apache.logging.log4j.util.StringMap)10 Appender (org.apache.logging.log4j.core.Appender)9 IOException (java.io.IOException)8 ArrayList (java.util.ArrayList)8 List (java.util.List)8 Log4jLogEvent (org.apache.logging.log4j.core.impl.Log4jLogEvent)8