Search in sources :

Example 21 with Logger

use of org.apache.logging.log4j.Logger in project elasticsearch by elastic.

the class ClusterServiceTests method testClusterStateUpdateLogging.

// To ensure that we log cluster state events on TRACE level
@TestLogging("org.elasticsearch.cluster.service:TRACE")
public void testClusterStateUpdateLogging() throws Exception {
    MockLogAppender mockAppender = new MockLogAppender();
    mockAppender.start();
    mockAppender.addExpectation(new MockLogAppender.SeenEventExpectation("test1", "org.elasticsearch.cluster.service.ClusterServiceTests$TimedClusterService", Level.DEBUG, "*processing [test1]: took [1s] no change in cluster_state"));
    mockAppender.addExpectation(new MockLogAppender.SeenEventExpectation("test2", "org.elasticsearch.cluster.service.ClusterServiceTests$TimedClusterService", Level.TRACE, "*failed to execute cluster state update in [2s]*"));
    mockAppender.addExpectation(new MockLogAppender.SeenEventExpectation("test3", "org.elasticsearch.cluster.service.ClusterServiceTests$TimedClusterService", Level.DEBUG, "*processing [test3]: took [3s] done applying updated cluster_state (version: *, uuid: *)"));
    Logger clusterLogger = Loggers.getLogger("org.elasticsearch.cluster.service");
    Loggers.addAppender(clusterLogger, mockAppender);
    try {
        final CountDownLatch latch = new CountDownLatch(4);
        clusterService.currentTimeOverride = System.nanoTime();
        clusterService.submitStateUpdateTask("test1", new ClusterStateUpdateTask() {

            @Override
            public ClusterState execute(ClusterState currentState) throws Exception {
                clusterService.currentTimeOverride += TimeValue.timeValueSeconds(1).nanos();
                return currentState;
            }

            @Override
            public void clusterStateProcessed(String source, ClusterState oldState, ClusterState newState) {
                latch.countDown();
            }

            @Override
            public void onFailure(String source, Exception e) {
                fail();
            }
        });
        clusterService.submitStateUpdateTask("test2", new ClusterStateUpdateTask() {

            @Override
            public ClusterState execute(ClusterState currentState) {
                clusterService.currentTimeOverride += TimeValue.timeValueSeconds(2).nanos();
                throw new IllegalArgumentException("Testing handling of exceptions in the cluster state task");
            }

            @Override
            public void clusterStateProcessed(String source, ClusterState oldState, ClusterState newState) {
                fail();
            }

            @Override
            public void onFailure(String source, Exception e) {
                latch.countDown();
            }
        });
        clusterService.submitStateUpdateTask("test3", new ClusterStateUpdateTask() {

            @Override
            public ClusterState execute(ClusterState currentState) {
                clusterService.currentTimeOverride += TimeValue.timeValueSeconds(3).nanos();
                return ClusterState.builder(currentState).incrementVersion().build();
            }

            @Override
            public void clusterStateProcessed(String source, ClusterState oldState, ClusterState newState) {
                latch.countDown();
            }

            @Override
            public void onFailure(String source, Exception e) {
                fail();
            }
        });
        // Additional update task to make sure all previous logging made it to the loggerName
        // We don't check logging for this on since there is no guarantee that it will occur before our check
        clusterService.submitStateUpdateTask("test4", new ClusterStateUpdateTask() {

            @Override
            public ClusterState execute(ClusterState currentState) {
                return currentState;
            }

            @Override
            public void clusterStateProcessed(String source, ClusterState oldState, ClusterState newState) {
                latch.countDown();
            }

            @Override
            public void onFailure(String source, Exception e) {
                fail();
            }
        });
        latch.await();
    } finally {
        Loggers.removeAppender(clusterLogger, mockAppender);
        mockAppender.stop();
    }
    mockAppender.assertAllExpectationsMatched();
}
Also used : ClusterState(org.elasticsearch.cluster.ClusterState) MockLogAppender(org.elasticsearch.test.MockLogAppender) ClusterStateUpdateTask(org.elasticsearch.cluster.ClusterStateUpdateTask) Matchers.hasToString(org.hamcrest.Matchers.hasToString) Matchers.containsString(org.hamcrest.Matchers.containsString) Logger(org.apache.logging.log4j.Logger) CountDownLatch(java.util.concurrent.CountDownLatch) BrokenBarrierException(java.util.concurrent.BrokenBarrierException) TestLogging(org.elasticsearch.test.junit.annotations.TestLogging)

Example 22 with Logger

use of org.apache.logging.log4j.Logger in project MinecraftForge by MinecraftForge.

the class FMLClientHandler method logMissingTextureErrors.

public void logMissingTextureErrors() {
    if (missingTextures.isEmpty() && brokenTextures.isEmpty()) {
        return;
    }
    Logger logger = LogManager.getLogger("TEXTURE ERRORS");
    logger.error(Strings.repeat("+=", 25));
    logger.error("The following texture errors were found.");
    Map<String, FallbackResourceManager> resManagers = ObfuscationReflectionHelper.getPrivateValue(SimpleReloadableResourceManager.class, (SimpleReloadableResourceManager) Minecraft.getMinecraft().getResourceManager(), "domainResourceManagers", "field_110548" + "_a");
    for (String resourceDomain : badTextureDomains) {
        Set<ResourceLocation> missing = missingTextures.get(resourceDomain);
        logger.error(Strings.repeat("=", 50));
        logger.error("  DOMAIN {}", resourceDomain);
        logger.error(Strings.repeat("-", 50));
        logger.error("  domain {} is missing {} texture{}", resourceDomain, missing.size(), missing.size() != 1 ? "s" : "");
        FallbackResourceManager fallbackResourceManager = resManagers.get(resourceDomain);
        if (fallbackResourceManager == null) {
            logger.error("    domain {} is missing a resource manager - it is probably a side-effect of automatic texture processing", resourceDomain);
        } else {
            List<IResourcePack> resPacks = ObfuscationReflectionHelper.getPrivateValue(FallbackResourceManager.class, fallbackResourceManager, "resourcePacks", "field_110540" + "_a");
            logger.error("    domain {} has {} location{}:", resourceDomain, resPacks.size(), resPacks.size() != 1 ? "s" : "");
            for (IResourcePack resPack : resPacks) {
                if (resPack instanceof FMLContainerHolder) {
                    FMLContainerHolder containerHolder = (FMLContainerHolder) resPack;
                    ModContainer fmlContainer = containerHolder.getFMLContainer();
                    logger.error("      mod {} resources at {}", fmlContainer.getModId(), fmlContainer.getSource().getPath());
                } else if (resPack instanceof AbstractResourcePack) {
                    AbstractResourcePack resourcePack = (AbstractResourcePack) resPack;
                    File resPath = ObfuscationReflectionHelper.getPrivateValue(AbstractResourcePack.class, resourcePack, "resourcePackFile", "field_110597" + "_b");
                    logger.error("      resource pack at path {}", resPath.getPath());
                } else {
                    logger.error("      unknown resourcepack type {} : {}", resPack.getClass().getName(), resPack.getPackName());
                }
            }
        }
        logger.error(Strings.repeat("-", 25));
        if (missingTextures.containsKey(resourceDomain)) {
            logger.error("    The missing resources for domain {} are:", resourceDomain);
            for (ResourceLocation rl : missing) {
                logger.error("      {}", rl.getResourcePath());
            }
            logger.error(Strings.repeat("-", 25));
        }
        if (!brokenTextures.containsRow(resourceDomain)) {
            logger.error("    No other errors exist for domain {}", resourceDomain);
        } else {
            logger.error("    The following other errors were reported for domain {}:", resourceDomain);
            Map<String, Set<ResourceLocation>> resourceErrs = brokenTextures.row(resourceDomain);
            for (String error : resourceErrs.keySet()) {
                logger.error(Strings.repeat("-", 25));
                logger.error("    Problem: {}", error);
                for (ResourceLocation rl : resourceErrs.get(error)) {
                    logger.error("      {}", rl.getResourcePath());
                }
            }
        }
        logger.error(Strings.repeat("=", 50));
    }
    logger.error(Strings.repeat("+=", 25));
}
Also used : Set(java.util.Set) ForgeModContainer(net.minecraftforge.common.ForgeModContainer) ModContainer(net.minecraftforge.fml.common.ModContainer) DummyModContainer(net.minecraftforge.fml.common.DummyModContainer) AbstractResourcePack(net.minecraft.client.resources.AbstractResourcePack) Logger(org.apache.logging.log4j.Logger) FMLContainerHolder(net.minecraftforge.fml.common.FMLContainerHolder) IResourcePack(net.minecraft.client.resources.IResourcePack) ResourceLocation(net.minecraft.util.ResourceLocation) FallbackResourceManager(net.minecraft.client.resources.FallbackResourceManager) File(java.io.File)

Example 23 with Logger

use of org.apache.logging.log4j.Logger in project netty by netty.

the class Log4J2LoggerTest method testWarn.

@Test
public void testWarn() {
    Logger mock = mock(Logger.class);
    when(mock.getName()).thenReturn("foo");
    InternalLogger logger = new Log4J2Logger(mock);
    logger.warn("a");
    verify(mock).getName();
    verify(mock).warn("a");
}
Also used : Logger(org.apache.logging.log4j.Logger) Test(org.junit.Test)

Example 24 with Logger

use of org.apache.logging.log4j.Logger in project netty by netty.

the class Log4J2LoggerTest method testError.

@Test
public void testError() {
    Logger mock = mock(Logger.class);
    when(mock.getName()).thenReturn("foo");
    InternalLogger logger = new Log4J2Logger(mock);
    logger.error("a");
    verify(mock).getName();
    verify(mock).error("a");
}
Also used : Logger(org.apache.logging.log4j.Logger) Test(org.junit.Test)

Example 25 with Logger

use of org.apache.logging.log4j.Logger in project netty by netty.

the class Log4J2LoggerTest method testIsErrorEnabled.

@Test
public void testIsErrorEnabled() {
    Logger mock = mock(Logger.class);
    when(mock.getName()).thenReturn("foo");
    when(mock.isErrorEnabled()).thenReturn(true);
    InternalLogger logger = new Log4J2Logger(mock);
    assertTrue(logger.isErrorEnabled());
    verify(mock).getName();
    verify(mock).isErrorEnabled();
}
Also used : Logger(org.apache.logging.log4j.Logger) Test(org.junit.Test)

Aggregations

Logger (org.apache.logging.log4j.Logger)470 Test (org.junit.Test)223 File (java.io.File)80 Test (org.junit.jupiter.api.Test)69 IOException (java.io.IOException)34 StatusLogger (org.apache.logging.log4j.status.StatusLogger)30 BufferedReader (java.io.BufferedReader)29 LoggerContext (org.apache.logging.log4j.core.LoggerContext)29 Collectors (java.util.stream.Collectors)28 Appender (org.apache.logging.log4j.core.Appender)27 FileReader (java.io.FileReader)26 Path (java.nio.file.Path)26 Level (org.apache.logging.log4j.Level)23 CountDownLatch (java.util.concurrent.CountDownLatch)22 IntStream (java.util.stream.IntStream)20 Map (java.util.Map)19 java.util (java.util)18 LoggerConfig (org.apache.logging.log4j.core.config.LoggerConfig)18 LogManager (org.apache.logging.log4j.LogManager)17 Configuration (org.apache.logging.log4j.core.config.Configuration)17