diff --git a/pom.xml b/pom.xml
index 3fb6ea771d72ca076fbd70a149729e747aeb7a97..7354b67771a257fa131e00fba908704523014a16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,12 +87,6 @@
 			<version>1.1.2</version>
 			<scope>runtime</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.codehaus.groovy</groupId>
-			<artifactId>groovy-all</artifactId>
-			<version>2.3.6</version>
-			<scope>runtime</scope>
-		</dependency>
 		<dependency>
 			<groupId>com.google.guava</groupId>
 			<artifactId>guava</artifactId>
diff --git a/src/main/resources/logback.groovy b/src/main/resources/logback.groovy
deleted file mode 100644
index 371a869615c1d9ebe0097d7e8f02f5bb597806d2..0000000000000000000000000000000000000000
--- a/src/main/resources/logback.groovy
+++ /dev/null
@@ -1,28 +0,0 @@
-import ch.qos.logback.classic.filter.ThresholdFilter
-
-statusListener(OnConsoleStatusListener)
-
-appender("FILE", FileAppender) {
-  file = "teetime.log"
-  append = false
-  filter(ThresholdFilter) {
-	level = INFO
-  }
-  encoder(PatternLayoutEncoder) {
-    pattern = "%msg%n"
-  }
-}
-
-appender("CONSOLE", ConsoleAppender) {
-  encoder(PatternLayoutEncoder) {
-    pattern = "%d{HH:mm:ss.SSS} %level %logger - %msg%n"
-  }
-}
-
-root WARN, ["CONSOLE"]
-
-//logger "teetime.framework", INFO
-//logger "teetime.stage", INFO
-
-logger "util.TimingsReader", TRACE, ["FILE"]
-logger "util.BucketTimingsReader", TRACE, ["FILE"]
\ No newline at end of file
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b17a05f640444952762360a6eb16dddbe52fab56
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,34 @@
+<configuration>
+	<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+
+	<appender name="FILE" class="ch.qos.logback.core.FileAppender">
+		<file>teetime.log</file>
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+			<level>INFO</level>
+		</filter>
+		<append>false</append>
+		<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder 
+			by default -->
+		<encoder>
+			<pattern>%msg%n</pattern>
+		</encoder>
+	</appender>
+
+	<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>%d{HH:mm:ss.SSS} %level %logger - %msg%n</pattern>
+		</encoder>
+	</appender>
+
+	<logger name="util.TimingsReader" level="TRACE">
+		<appender-ref ref="FILE" />
+	</logger>
+
+	<logger name="util.BucketTimingsReader" level="TRACE">
+		<appender-ref ref="FILE" />
+	</logger>
+
+	<root level="WARN">
+		<appender-ref ref="CONSOLE" />
+	</root>
+</configuration>
\ No newline at end of file
diff --git a/src/test/resources/logback.groovy b/src/test/resources/logback.groovy
deleted file mode 100644
index a888fc48590a7920e3c82e1ad9ab1caf1c38bc8c..0000000000000000000000000000000000000000
--- a/src/test/resources/logback.groovy
+++ /dev/null
@@ -1,27 +0,0 @@
-import ch.qos.logback.classic.filter.ThresholdFilter
-
-statusListener(OnConsoleStatusListener)
-
-appender("FILE", FileAppender) {
-  file = "src/test/data/load-logs/timings-results.txt"
-  append = false
-  filter(ThresholdFilter) {
-	level = INFO
-  }
-  encoder(PatternLayoutEncoder) {
-    pattern = "%msg%n"
-  }
-}
-
-appender("CONSOLE", ConsoleAppender) {
-  encoder(PatternLayoutEncoder) {
-    pattern = "%d{HH:mm:ss.SSS} %level %logger - %msg%n"
-  }
-}
-
-root ERROR, ["CONSOLE"]
-
-//logger "teetime.framework", INFO
-logger "teetime.stage", INFO
-
-logger "util", INFO
\ No newline at end of file
diff --git a/src/test/resources/logback.xml b/src/test/resources/logback.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0c6041095f144317b7397cdd45a4bd82c385a8d1
--- /dev/null
+++ b/src/test/resources/logback.xml
@@ -0,0 +1,29 @@
+<configuration>
+	<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" />
+
+	<appender name="FILE" class="ch.qos.logback.core.FileAppender">
+		<file>src/test/data/load-logs/timings-results.txt</file>
+		<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+			<level>INFO</level>
+		</filter>
+		<append>false</append>
+		<!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder 
+			by default -->
+		<encoder>
+			<pattern>%msg%n</pattern>
+		</encoder>
+	</appender>
+
+	<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>%d{HH:mm:ss.SSS} %level %logger - %msg%n</pattern>
+		</encoder>
+	</appender>
+	
+	<logger name="teetime.stage" level="INFO" />
+	<logger name="util" level="INFO" />
+
+	<root level="ERROR">
+		<appender-ref ref="CONSOLE" />
+	</root>
+</configuration>
\ No newline at end of file