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..8b1e56a7118d58616d2103e962edb608329c6aa2
--- /dev/null
+++ b/src/main/resources/logback.xml
@@ -0,0 +1,36 @@
+<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>
+		<filter>
+		</filter>
+	</appender>
+
+	<appender name="STDOUT" 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="STDOUT" />
+	</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..3f1a3e4367ac64de0c9b5f921b3b3d600743174b
--- /dev/null
+++ b/src/test/resources/logback.xml
@@ -0,0 +1,31 @@
+<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>
+		<filter>
+		</filter>
+	</appender>
+
+	<appender name="STDOUT" 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="STDOUT" />
+	</root>
+</configuration>
\ No newline at end of file