commit 3c50e816038d0efa289329f286cb81ac31fbbeee
parent 6044b5c2fd83632eb1441545cb1d427a74e98b0a
Author: MS <ms@taler.net>
Date: Wed, 24 Jun 2020 12:09:21 +0200
sandbox offers logfile name among options
Diffstat:
5 files changed, 45 insertions(+), 38 deletions(-)
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
@@ -33,7 +33,7 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory
import tech.libeufin.nexus.server.serverMain
import tech.libeufin.util.CryptoUtil.hashpw
-import setLogFile
+import tech.libeufin.util.*
lateinit var logger: Logger
diff --git a/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt b/sandbox/src/main/kotlin/tech/libeufin/sandbox/Main.kt
@@ -64,13 +64,14 @@ import com.github.ajalt.clikt.parameters.arguments.argument
import com.github.ajalt.clikt.parameters.options.default
import com.github.ajalt.clikt.parameters.options.option
import com.github.ajalt.clikt.parameters.options.prompt
+import tech.libeufin.util.*
class CustomerNotFound(id: String?) : Exception("Customer ${id} not found")
class BadInputData(inputData: String?) : Exception("Customer provided invalid input data: ${inputData}")
class UnacceptableFractional(badNumber: BigDecimal) : Exception(
"Unacceptable fractional part ${badNumber}"
)
-val LOGGER: Logger = LoggerFactory.getLogger("tech.libeufin.sandbox")
+lateinit var LOGGER: Logger
data class SandboxError(
val statusCode: HttpStatusCode,
@@ -83,7 +84,10 @@ class SandboxCommand : CliktCommand() {
class Serve : CliktCommand("Run sandbox HTTP server") {
private val dbName by option().default("libeufin-sandbox.sqlite3")
+ private val logFile by option()
override fun run() {
+ setLogFile(logFile, "sandboxLogFile", "late-logback.xml")
+ LOGGER = LoggerFactory.getLogger("tech.libeufin.sandbox")
serverMain(dbName)
}
}
diff --git a/sandbox/src/main/resources/late-logback.xml b/sandbox/src/main/resources/late-logback.xml
@@ -0,0 +1,36 @@
+<configuration>
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
+ </encoder>
+ </appender>
+
+ <property name="SANDBOX_LOG_FILE" value="${sandboxLogFile}" />
+ <appender name="SANDBOX-FILE" class="ch.qos.logback.core.FileAppender">
+ <file>${SANDBOX_LOG_FILE}</file>
+ <append>false</append>
+ <encoder>
+ <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
+ </encoder>
+ </appender>
+
+ <logger name="tech.libeufin.sandbox" level="DEBUG" additivity="false">
+ <appender-ref ref="STDOUT" />
+ <appender-ref ref="SANDBOX-FILE" />
+ </logger>
+
+ <logger name="tech.libeufin.util" level="TRACE" additivity="false">
+ <appender-ref ref="STDOUT" />
+ <appender-ref ref="SANDBOX-FILE" />
+ </logger>
+
+
+ <logger name="io.netty" level="WARN" />
+ <logger name="ktor" level="WARN" />
+ <logger name="Exposed" level="WARN" />
+
+ <root level="WARN">
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
+\ No newline at end of file
diff --git a/sandbox/src/main/resources/logback.xml b/sandbox/src/main/resources/logback.xml
@@ -1,35 +0,0 @@
-<configuration>
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
- </encoder>
- </appender>
-
- <appender name="SANDBOX-FILE" class="ch.qos.logback.core.FileAppender">
- <file>/tmp/sandbox.log</file>
- <append>false</append>
- <encoder>
- <pattern>%-5relative %-5level %logger{35} - %msg%n</pattern>
- </encoder>
- </appender>
-
- <logger name="tech.libeufin.sandbox" level="DEBUG" additivity="false">
- <appender-ref ref="STDOUT" />
- <appender-ref ref="SANDBOX-FILE" />
- </logger>
-
- <logger name="tech.libeufin.util" level="TRACE" additivity="false">
- <appender-ref ref="STDOUT" />
- <appender-ref ref="SANDBOX-FILE" />
- </logger>
-
-
- <logger name="io.netty" level="WARN" />
- <logger name="ktor" level="WARN" />
- <logger name="Exposed" level="WARN" />
-
- <root level="WARN">
- <appender-ref ref="STDOUT" />
- </root>
-
-</configuration>
-\ No newline at end of file
diff --git a/util/src/main/kotlin/Config.kt b/util/src/main/kotlin/Config.kt
@@ -1,3 +1,5 @@
+package tech.libeufin.util
+
import ch.qos.logback.classic.util.ContextInitializer
import ch.qos.logback.core.util.Loader