Merge pull request #1339 from DataDog/mar-kolya/add-logging
Add logging to netty tests
This commit is contained in:
commit
ca48af1239
|
@ -21,6 +21,8 @@ import org.jboss.netty.handler.codec.http.HttpResponseStatus
|
|||
import org.jboss.netty.handler.codec.http.HttpServerCodec
|
||||
import org.jboss.netty.handler.logging.LoggingHandler
|
||||
import org.jboss.netty.logging.InternalLogLevel
|
||||
import org.jboss.netty.logging.InternalLoggerFactory
|
||||
import org.jboss.netty.logging.Slf4JLoggerFactory
|
||||
import org.jboss.netty.util.CharsetUtil
|
||||
|
||||
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.ERROR
|
||||
|
@ -37,8 +39,15 @@ import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
|||
|
||||
class Netty38ServerTest extends HttpServerTest<ServerBootstrap> {
|
||||
|
||||
static final LoggingHandler LOGGING_HANDLER
|
||||
static {
|
||||
InternalLoggerFactory.setDefaultFactory(new Slf4JLoggerFactory())
|
||||
LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, InternalLogLevel.DEBUG, true)
|
||||
}
|
||||
|
||||
ChannelPipeline channelPipeline() {
|
||||
ChannelPipeline channelPipeline = new DefaultChannelPipeline()
|
||||
channelPipeline.addFirst("logger", LOGGING_HANDLER)
|
||||
|
||||
channelPipeline.addLast("http-codec", new HttpServerCodec())
|
||||
channelPipeline.addLast("controller", new SimpleChannelHandler() {
|
||||
|
@ -109,7 +118,7 @@ class Netty38ServerTest extends HttpServerTest<ServerBootstrap> {
|
|||
@Override
|
||||
ServerBootstrap startServer(int port) {
|
||||
ServerBootstrap bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory())
|
||||
bootstrap.setParentHandler(new LoggingHandler(InternalLogLevel.INFO))
|
||||
bootstrap.setParentHandler(LOGGING_HANDLER)
|
||||
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
|
||||
@Override
|
||||
ChannelPipeline getPipeline() throws Exception {
|
||||
|
|
|
@ -21,6 +21,8 @@ import org.jboss.netty.handler.codec.http.HttpResponseStatus
|
|||
import org.jboss.netty.handler.codec.http.HttpServerCodec
|
||||
import org.jboss.netty.handler.logging.LoggingHandler
|
||||
import org.jboss.netty.logging.InternalLogLevel
|
||||
import org.jboss.netty.logging.InternalLoggerFactory
|
||||
import org.jboss.netty.logging.Slf4JLoggerFactory
|
||||
import org.jboss.netty.util.CharsetUtil
|
||||
|
||||
import static datadog.trace.agent.test.base.HttpServerTest.ServerEndpoint.ERROR
|
||||
|
@ -37,8 +39,15 @@ import static org.jboss.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
|||
|
||||
class Netty38ServerTest extends HttpServerTest<ServerBootstrap> {
|
||||
|
||||
static final LoggingHandler LOGGING_HANDLER
|
||||
static {
|
||||
InternalLoggerFactory.setDefaultFactory(new Slf4JLoggerFactory())
|
||||
LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, InternalLogLevel.DEBUG, true)
|
||||
}
|
||||
|
||||
ChannelPipeline channelPipeline() {
|
||||
ChannelPipeline channelPipeline = new DefaultChannelPipeline()
|
||||
channelPipeline.addFirst("logger", LOGGING_HANDLER)
|
||||
|
||||
channelPipeline.addLast("http-codec", new HttpServerCodec())
|
||||
channelPipeline.addLast("controller", new SimpleChannelHandler() {
|
||||
|
@ -109,7 +118,7 @@ class Netty38ServerTest extends HttpServerTest<ServerBootstrap> {
|
|||
@Override
|
||||
ServerBootstrap startServer(int port) {
|
||||
ServerBootstrap bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory())
|
||||
bootstrap.setParentHandler(new LoggingHandler(InternalLogLevel.INFO))
|
||||
bootstrap.setParentHandler(LOGGING_HANDLER)
|
||||
bootstrap.setPipelineFactory(new ChannelPipelineFactory() {
|
||||
@Override
|
||||
ChannelPipeline getPipeline() throws Exception {
|
||||
|
|
|
@ -34,16 +34,20 @@ import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
|||
|
||||
class Netty40ServerTest extends HttpServerTest<EventLoopGroup> {
|
||||
|
||||
static final LoggingHandler LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, LogLevel.DEBUG)
|
||||
|
||||
@Override
|
||||
EventLoopGroup startServer(int port) {
|
||||
def eventLoopGroup = new NioEventLoopGroup()
|
||||
|
||||
ServerBootstrap bootstrap = new ServerBootstrap()
|
||||
.group(eventLoopGroup)
|
||||
.handler(new LoggingHandler(LogLevel.INFO))
|
||||
.handler(LOGGING_HANDLER)
|
||||
.childHandler([
|
||||
initChannel: { ch ->
|
||||
ChannelPipeline pipeline = ch.pipeline()
|
||||
pipeline.addFirst("logger", LOGGING_HANDLER)
|
||||
|
||||
def handlers = [new HttpRequestDecoder(), new HttpResponseEncoder()]
|
||||
handlers.each { pipeline.addLast(it) }
|
||||
pipeline.addLast([
|
||||
|
|
|
@ -33,16 +33,20 @@ import static io.netty.handler.codec.http.HttpVersion.HTTP_1_1
|
|||
|
||||
class Netty41ServerTest extends HttpServerTest<EventLoopGroup> {
|
||||
|
||||
static final LoggingHandler LOGGING_HANDLER = new LoggingHandler(SERVER_LOGGER.name, LogLevel.DEBUG)
|
||||
|
||||
@Override
|
||||
EventLoopGroup startServer(int port) {
|
||||
def eventLoopGroup = new NioEventLoopGroup()
|
||||
|
||||
ServerBootstrap bootstrap = new ServerBootstrap()
|
||||
.group(eventLoopGroup)
|
||||
.handler(new LoggingHandler(LogLevel.INFO))
|
||||
.handler(LOGGING_HANDLER)
|
||||
.childHandler([
|
||||
initChannel: { ch ->
|
||||
ChannelPipeline pipeline = ch.pipeline()
|
||||
pipeline.addFirst("logger", LOGGING_HANDLER)
|
||||
|
||||
def handlers = [new HttpServerCodec()]
|
||||
handlers.each { pipeline.addLast(it) }
|
||||
pipeline.addLast([
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package datadog.trace.agent.test.base
|
||||
|
||||
import ch.qos.logback.classic.Level
|
||||
import datadog.opentracing.DDSpan
|
||||
import datadog.trace.agent.test.AgentTestRunner
|
||||
import datadog.trace.agent.test.asserts.ListWriterAssert
|
||||
|
@ -15,6 +16,8 @@ import okhttp3.HttpUrl
|
|||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.slf4j.Logger
|
||||
import org.slf4j.LoggerFactory
|
||||
import spock.lang.Shared
|
||||
import spock.lang.Unroll
|
||||
|
||||
|
@ -37,6 +40,11 @@ import static org.junit.Assume.assumeTrue
|
|||
@Unroll
|
||||
abstract class HttpServerTest<SERVER> extends AgentTestRunner {
|
||||
|
||||
public static final Logger SERVER_LOGGER = LoggerFactory.getLogger("http-server")
|
||||
static {
|
||||
((ch.qos.logback.classic.Logger) SERVER_LOGGER).setLevel(Level.DEBUG)
|
||||
}
|
||||
|
||||
@Shared
|
||||
SERVER server
|
||||
@Shared
|
||||
|
|
|
@ -2,6 +2,10 @@ package datadog.trace.agent.test.utils;
|
|||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.logging.HttpLoggingInterceptor;
|
||||
import okhttp3.logging.HttpLoggingInterceptor.Level;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* This class was moved from groovy to java because groovy kept trying to introspect on the
|
||||
|
@ -9,9 +13,29 @@ import okhttp3.OkHttpClient;
|
|||
*/
|
||||
public class OkHttpUtils {
|
||||
|
||||
private static final Logger CLIENT_LOGGER = LoggerFactory.getLogger("http-client");
|
||||
|
||||
static {
|
||||
((ch.qos.logback.classic.Logger) CLIENT_LOGGER).setLevel(ch.qos.logback.classic.Level.DEBUG);
|
||||
}
|
||||
|
||||
private static final HttpLoggingInterceptor LOGGING_INTERCEPTOR =
|
||||
new HttpLoggingInterceptor(
|
||||
new HttpLoggingInterceptor.Logger() {
|
||||
@Override
|
||||
public void log(final String message) {
|
||||
CLIENT_LOGGER.debug(message);
|
||||
}
|
||||
});
|
||||
|
||||
static {
|
||||
LOGGING_INTERCEPTOR.setLevel(Level.BASIC);
|
||||
}
|
||||
|
||||
static OkHttpClient.Builder clientBuilder() {
|
||||
final TimeUnit unit = TimeUnit.MINUTES;
|
||||
return new OkHttpClient.Builder()
|
||||
.addInterceptor(LOGGING_INTERCEPTOR)
|
||||
.connectTimeout(1, unit)
|
||||
.writeTimeout(1, unit)
|
||||
.readTimeout(1, unit);
|
||||
|
|
|
@ -22,6 +22,7 @@ dependencies {
|
|||
compile deps.guava
|
||||
|
||||
compile group: 'org.eclipse.jetty', name: 'jetty-server', version: '8.0.0.v20110901'
|
||||
compile group: 'com.squareup.okhttp3', name: 'logging-interceptor', version: versions.okhttp
|
||||
|
||||
compile project(':dd-java-agent:agent-tooling')
|
||||
compile project(':utils:test-utils')
|
||||
|
|
Loading…
Reference in New Issue