adding a logger conf

This commit is contained in:
Guillaume Polaert 2017-04-26 16:23:55 +02:00
parent 52626f9dcb
commit 445e9dac77
5 changed files with 129 additions and 53 deletions

111
pom.xml
View File

@ -1,56 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.datadog</groupId>
<artifactId>raclette-java</artifactId>
<version>1.0-SNAPSHOT</version>
<groupId>com.datadog</groupId>
<artifactId>raclette-java</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-api</artifactId>
<version>0.21.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
<dependencies>
<dependency>
<groupId>io.opentracing</groupId>
<artifactId>opentracing-api</artifactId>
<version>0.21.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.8</version>
</dependency>
<!-- Testing dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.7.22</version>
</dependency>
</dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>4.9</version>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<!-- Testing dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>2.7.22</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,19 @@
package com.datadoghq.trace.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class TracerLogger {
private Logger logger = LoggerFactory.getLogger("com.datadoghq.trace");
private final String startNewSpan = "Starting new span - %s [%s]";
public void startNewSpan(String operationName, long spanId) {
if (!logger.isTraceEnabled()) return;
logger.trace(String.format(startNewSpan, operationName, String.valueOf(spanId)));
}
}

View File

@ -1,16 +1,17 @@
package com.datadoghq.trace.impl;
import io.opentracing.References;
import com.datadoghq.trace.Utils.TracerLogger;
import io.opentracing.Span;
import io.opentracing.SpanContext;
import io.opentracing.propagation.Format;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import java.util.*;
public class Tracer implements io.opentracing.Tracer {
private TracerLogger logger = new TracerLogger();
public SpanBuilder buildSpan(String operationName) {
return new SpanBuilder(operationName);
}
@ -99,6 +100,7 @@ public class Tracer implements io.opentracing.Tracer {
// build the context
DDSpanContext context = buildTheSpanContext();
logger.startNewSpan(this.operationName, context.getSpanId());
return new DDSpan(
Tracer.this,

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log_directory" value="logs/"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
<appender name="file-json" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log_directory}/dd-tracer-json.log</file>
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>
${log_directory}/dd-tracer-json.%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<appender name="console-json" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<logger name="com.datadoghq.trace" level="trace">
<appender-ref ref="console"/>
<appender-ref ref="file-json"/>
</logger>
<root level="info">
<appender-ref ref="console"/>
</root>
</configuration>

View File

@ -1,6 +1,4 @@
package com.datadoghq.trace;
import com.datadoghq.trace.Writer;
import com.datadoghq.trace.impl.Tracer;
import com.datadoghq.trace.writer.impl.DDAgentWriter;
import io.opentracing.Span;