commit 08b9a9d9103f6107f8c53cc4c91abfdae5015056
parent 3c513525298b7269890c43dcf30a7e7d88ce4c26
Author: Marcello Stanisci <stanisci.m@gmail.com>
Date: Thu, 19 Sep 2019 02:05:53 +0200
Complete initial setup (#5888).
Diffstat:
3 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/build.gradle b/build.gradle
@@ -15,7 +15,7 @@ repositories {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile "io.ktor:ktor-server-netty:1.2.4"
- compile "org.slf4j:slf4j-simple:1.7.28"
+ compile "ch.qos.logback:logback-classic:1.2.3"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
diff --git a/src/main/java/tech/libeufin/GetLogger.java b/src/main/java/tech/libeufin/GetLogger.java
@@ -0,0 +1,21 @@
+package tech.libeufin;
+
+import ch.qos.logback.classic.Level;
+import org.slf4j.LoggerFactory;
+import ch.qos.logback.core.FileAppender;
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import ch.qos.logback.classic.Logger;
+import ch.qos.logback.classic.LoggerContext;
+
+public class GetLogger {
+ public static Logger getLogger() {
+ FileAppender fa = new FileAppender<ILoggingEvent>();
+ LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
+ fa.setContext(lc);
+ fa.setFile("server.log");
+ Logger logger = (Logger) LoggerFactory.getLogger("libeufin-sandbox");
+ logger.addAppender(fa);
+ logger.setLevel(Level.DEBUG);
+ return logger;
+ }
+}
diff --git a/src/main/kotlin/Main.kt b/src/main/kotlin/Main.kt
@@ -21,33 +21,31 @@ package tech.libeufin
import io.ktor.application.*
import io.ktor.http.*
-import io.ktor.http.content.TextContent
import io.ktor.request.receiveText
import io.ktor.response.*
import io.ktor.routing.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*
-import tech.libeufin.XMLManagement;
-import java.io.ByteArrayInputStream
-import java.io.InputStream
-import org.w3c.dom.Document;
import tech.libeufin.messages.HEVResponse
-import kotlin.reflect.jvm.internal.impl.load.kotlin.JvmType
fun main(args: Array<String>) {
var xmlProcess = XMLManagement();
+ var logger = GetLogger.getLogger()
+
val server = embeddedServer(Netty, port = 5000) {
routing {
get("/") {
+ logger.debug("GET: not implemented")
call.respondText("Hello LibEuFin!", ContentType.Text.Plain)
}
post("/") {
val body: String = call.receiveText()
- println("Body: $body")
+ logger.debug("Body: $body")
+
val isValid = xmlProcess.validate(body)
if (!isValid) {
- System.out.println("Invalid request received")
+ logger.error("Invalid request received")
call.respondText(contentType = ContentType.Application.Xml,
status = HttpStatusCode.BadRequest) {"Bad request"};
return@post
@@ -57,7 +55,7 @@ fun main(args: Array<String>) {
if (null == bodyDocument)
{
/* Should never happen. */
- System.out.println("A valid document failed to parse into DOM!")
+ logger.error("A valid document failed to parse into DOM!")
call.respondText(contentType = ContentType.Application.Xml,
status = HttpStatusCode.InternalServerError) {"Internal server error"};
return@post
@@ -75,7 +73,7 @@ fun main(args: Array<String>) {
}
/* Log to console and return "unknown type" */
- System.out.println("Unknown message, just logging it!")
+ // logger.info("Unknown message, just logging it!")
call.respondText(contentType = ContentType.Application.Xml,
status = HttpStatusCode.NotFound) {"Not found"};
return@post