package com.getsentry.raven.log4j2;
import com.getsentry.raven.BaseIT;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.Before;
import org.junit.Test;
import static com.github.tomakehurst.wiremock.client.WireMock.*;
public class SentryAppenderIT extends BaseIT {
/*
We filter out loggers that start with `com.getsentry.raven`, so we deliberately
use a custom logger name here.
*/
private static final Logger logger = LogManager.getLogger("log4j2.SentryAppenderIT");
private static final Logger ravenLogger = LogManager.getLogger(SentryAppenderIT.class);
@Before
public void setup() {
stub200ForProject1Store();
}
@Test
public void testErrorLog() throws Exception {
verifyProject1PostRequestCount(0);
verifyStoredEventCount(0);
logger.error("This is a test");
verifyProject1PostRequestCount(1);
verifyStoredEventCount(1);
}
@Test
public void testChainedExceptions() throws Exception {
verifyProject1PostRequestCount(0);
verifyStoredEventCount(0);
logger.error("This is an exception",
new UnsupportedOperationException("Test", new UnsupportedOperationException()));
verifyProject1PostRequestCount(1);
verifyStoredEventCount(1);
}
@Test
public void testNoRavenLogging() throws Exception {
verifyProject1PostRequestCount(0);
verifyStoredEventCount(0);
ravenLogger.error("This is a test");
verifyProject1PostRequestCount(0);
verifyStoredEventCount(0);
}
}