Skip to content

Commit

Permalink
discoverable logging
Browse files Browse the repository at this point in the history
* make jdk log hijacking run once
* make bootstrap run once, and pull into a Utility class
* LoggingFactory a discoverable an interface
* Old LoggingFactory becomes DefaultLoggingFactory
  • Loading branch information
carlo-rtr committed May 7, 2015
1 parent 7c37f4b commit 7012fe2
Show file tree
Hide file tree
Showing 40 changed files with 387 additions and 318 deletions.
Expand Up @@ -8,7 +8,7 @@
import io.dropwizard.auth.oauth.OAuthCredentialAuthFilter;
import io.dropwizard.auth.util.AuthUtil;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import org.glassfish.jersey.servlet.ServletProperties;
import org.glassfish.jersey.test.DeploymentContext;
Expand All @@ -35,7 +35,7 @@
public class ChainedAuthProviderTest extends JerseyTest {
private static final String ADMIN_ROLE = "ADMIN";
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -7,7 +7,7 @@
import io.dropwizard.auth.Authenticator;
import io.dropwizard.auth.util.AuthUtil;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import org.glassfish.jersey.servlet.ServletProperties;
import org.glassfish.jersey.test.DeploymentContext;
Expand Down Expand Up @@ -36,7 +36,7 @@
public class BasicAuthProviderTest extends JerseyTest {
final private static String VALID_ROLE = "ADMIN";
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -4,7 +4,7 @@
import io.dropwizard.auth.*;
import io.dropwizard.auth.util.AuthUtil;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import org.glassfish.jersey.servlet.ServletProperties;
import org.glassfish.jersey.test.DeploymentContext;
Expand Down Expand Up @@ -34,7 +34,7 @@
public class BasicCustomAuthProviderTest extends JerseyTest {
final private static String VALID_ROLE = "ADMIN";
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -6,7 +6,7 @@
import io.dropwizard.auth.AuthResource;
import io.dropwizard.auth.util.AuthUtil;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import org.glassfish.jersey.servlet.ServletProperties;
import org.glassfish.jersey.test.DeploymentContext;
Expand All @@ -25,7 +25,7 @@

public class OAuthCustomProviderTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -6,7 +6,7 @@
import io.dropwizard.auth.AuthResource;
import io.dropwizard.auth.util.AuthUtil;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature;
import org.glassfish.jersey.servlet.ServletProperties;
import org.glassfish.jersey.test.DeploymentContext;
Expand All @@ -26,7 +26,7 @@

public class OAuthProviderTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
10 changes: 7 additions & 3 deletions dropwizard-core/src/main/java/io/dropwizard/Application.java
Expand Up @@ -3,7 +3,7 @@
import io.dropwizard.cli.CheckCommand;
import io.dropwizard.cli.Cli;
import io.dropwizard.cli.ServerCommand;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment;
import io.dropwizard.util.Generics;
Expand All @@ -12,12 +12,16 @@
/**
* The base class for Dropwizard applications.
*
* The default constructor will be inherited in subclasses if
* a default constructor isn't provided. If you do provide one,
* it's important to call default constructor to preserve logging
*
* @param <T> the type of configuration class for this application
*/
public abstract class Application<T extends Configuration> {
static {
protected Application() {
// make sure spinning up Hibernate Validator doesn't yell at us
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

/**
Expand Down
Expand Up @@ -2,6 +2,7 @@

import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import io.dropwizard.logging.DefaultLoggingFactory;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.metrics.MetricsFactory;
import io.dropwizard.server.DefaultServerFactory;
Expand Down Expand Up @@ -65,7 +66,7 @@ public class Configuration {

@Valid
@NotNull
private LoggingFactory logging = new LoggingFactory();
private LoggingFactory logging = new DefaultLoggingFactory();

@Valid
@NotNull
Expand Down
Expand Up @@ -4,7 +4,7 @@
import com.codahale.metrics.health.HealthCheckRegistry;
import com.google.common.collect.ImmutableMultimap;
import io.dropwizard.jetty.MutableServletContextHandler;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import io.dropwizard.servlets.tasks.Task;
import org.eclipse.jetty.server.Server;
import org.junit.Test;
Expand All @@ -16,7 +16,7 @@

public class AdminEnvironmentTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

private final MutableServletContextHandler handler = new MutableServletContextHandler();
Expand Down
@@ -1,7 +1,6 @@
package io.dropwizard.hibernate;

import com.codahale.metrics.MetricRegistry;
import com.fasterxml.jackson.databind.JsonNode;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;
import io.dropwizard.db.DataSourceFactory;
Expand All @@ -10,7 +9,7 @@
import io.dropwizard.jersey.errors.ErrorMessage;
import io.dropwizard.jersey.jackson.JacksonMessageBodyProvider;
import io.dropwizard.lifecycle.setup.LifecycleEnvironment;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import io.dropwizard.setup.Environment;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.test.JerseyTest;
Expand All @@ -29,7 +28,6 @@
import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.TimeZone;

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
Expand All @@ -38,7 +36,7 @@

public class JerseyIntegrationTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

public static class PersonDAO extends AbstractDAO<Person> {
Expand Down
Expand Up @@ -5,7 +5,7 @@
import io.dropwizard.db.DataSourceFactory;
import io.dropwizard.db.ManagedPooledDataSource;
import io.dropwizard.lifecycle.setup.LifecycleEnvironment;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import io.dropwizard.setup.Environment;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
Expand All @@ -22,7 +22,7 @@

public class SessionFactoryFactoryTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

private final SessionFactoryFactory factory = new SessionFactoryFactory();
Expand Down
Expand Up @@ -9,7 +9,7 @@
import io.dropwizard.db.ManagedDataSource;
import io.dropwizard.lifecycle.Managed;
import io.dropwizard.lifecycle.setup.LifecycleEnvironment;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import io.dropwizard.setup.Environment;
import org.joda.time.DateTime;
import org.junit.After;
Expand All @@ -34,7 +34,7 @@ public class JDBITest {
private final DataSourceFactory hsqlConfig = new DataSourceFactory();

{
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
hsqlConfig.setUrl("jdbc:h2:mem:DbTest-" + System.currentTimeMillis());
hsqlConfig.setUser("sa");
hsqlConfig.setDriverClass("org.h2.Driver");
Expand Down
Expand Up @@ -2,7 +2,7 @@

import com.codahale.metrics.MetricRegistry;
import io.dropwizard.jersey.dummy.DummyResource;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
import org.junit.Test;
Expand All @@ -15,7 +15,7 @@

public class AsyncServletTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -2,7 +2,8 @@

import com.codahale.metrics.MetricRegistry;
import io.dropwizard.jersey.dummy.DummyResource;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;

import java.util.regex.Pattern;
import javax.ws.rs.DELETE;
import javax.ws.rs.POST;
Expand All @@ -16,7 +17,7 @@

public class DropwizardResourceConfigTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

private DropwizardResourceConfig rc;
Expand Down
Expand Up @@ -2,7 +2,7 @@

import com.codahale.metrics.MetricRegistry;
import io.dropwizard.jersey.dummy.DummyResource;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
import org.junit.Test;
Expand All @@ -15,7 +15,7 @@

public class JerseyContentTypeTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
@@ -1,7 +1,7 @@
package io.dropwizard.jersey.caching;

import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;

import javax.ws.rs.core.Application;
import javax.ws.rs.core.HttpHeaders;
Expand All @@ -18,7 +18,7 @@

public class CacheControlledResponseFeatureTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -2,7 +2,7 @@

import com.codahale.metrics.MetricRegistry;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
import org.junit.Test;
Expand All @@ -17,7 +17,7 @@

public class LoggingExceptionMapperTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -3,7 +3,7 @@
import com.codahale.metrics.MetricRegistry;
import com.google.common.collect.ImmutableMap;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.ServerProperties;
import org.glassfish.jersey.servlet.ServletProperties;
Expand All @@ -23,7 +23,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
Expand All @@ -38,7 +37,7 @@

public class AllowedMethodsFilterTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

private static final int DISALLOWED_STATUS_CODE = Response.Status.METHOD_NOT_ALLOWED.getStatusCode();
Expand Down
Expand Up @@ -4,7 +4,7 @@
import com.google.common.base.Optional;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.jersey.params.UUIDParam;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
import org.junit.Test;
Expand All @@ -19,7 +19,7 @@

public class OptionalCookieParamResourceTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -4,7 +4,7 @@
import com.google.common.base.Optional;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.jersey.params.UUIDParam;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.internal.util.collection.MultivaluedStringMap;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
Expand All @@ -23,7 +23,7 @@

public class OptionalFormParamResourceTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down
Expand Up @@ -4,7 +4,7 @@
import com.google.common.base.Optional;
import io.dropwizard.jersey.DropwizardResourceConfig;
import io.dropwizard.jersey.params.UUIDParam;
import io.dropwizard.logging.LoggingFactory;
import io.dropwizard.logging.BootstrapLogging;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
import org.junit.Test;
Expand All @@ -19,7 +19,7 @@

public class OptionalHeaderParamResourceTest extends JerseyTest {
static {
LoggingFactory.bootstrap();
BootstrapLogging.bootstrap();
}

@Override
Expand Down

0 comments on commit 7012fe2

Please sign in to comment.