mirror of
https://github.com/revanced/revanced-api.git
synced 2025-04-29 22:24:31 +02:00
feat: Customize logging level through environment variable
This commit is contained in:
parent
1e3e46ff4f
commit
8b17d8894d
@ -1,6 +1,7 @@
|
||||
package app.revanced.api.command
|
||||
|
||||
import app.revanced.api.configuration.*
|
||||
import io.github.cdimascio.dotenv.Dotenv
|
||||
import io.ktor.server.engine.*
|
||||
import io.ktor.server.jetty.*
|
||||
import picocli.CommandLine
|
||||
@ -33,6 +34,8 @@ internal object StartAPICommand : Runnable {
|
||||
private var configFile = File("configuration.toml")
|
||||
|
||||
override fun run() {
|
||||
Dotenv.configure().systemProperties().load()
|
||||
|
||||
embeddedServer(Jetty, port, host) {
|
||||
configureDependencies(configFile)
|
||||
configureHTTP()
|
||||
|
@ -12,7 +12,6 @@ import app.revanced.api.configuration.services.OldApiService
|
||||
import app.revanced.api.configuration.services.PatchesService
|
||||
import com.akuleshov7.ktoml.Toml
|
||||
import com.akuleshov7.ktoml.source.decodeFromStream
|
||||
import io.github.cdimascio.dotenv.Dotenv
|
||||
import io.ktor.client.*
|
||||
import io.ktor.client.engine.okhttp.*
|
||||
import io.ktor.client.plugins.*
|
||||
@ -38,11 +37,7 @@ import java.io.File
|
||||
fun Application.configureDependencies(
|
||||
configFile: File,
|
||||
) {
|
||||
val globalModule = module {
|
||||
single {
|
||||
Dotenv.configure().load()
|
||||
}
|
||||
|
||||
val miscModule = module {
|
||||
factory { params ->
|
||||
val defaultRequestUri: String = params.get<String>()
|
||||
val configBlock = params.getOrNull<(HttpClientConfig<OkHttpConfig>.() -> Unit)>() ?: {}
|
||||
@ -72,7 +67,7 @@ fun Application.configureDependencies(
|
||||
)
|
||||
}
|
||||
|
||||
get<Dotenv>()["BACKEND_API_TOKEN"]?.let {
|
||||
System.getProperty("BACKEND_API_TOKEN")?.let {
|
||||
install(Auth) {
|
||||
bearer {
|
||||
loadTokens {
|
||||
@ -98,12 +93,10 @@ fun Application.configureDependencies(
|
||||
}
|
||||
|
||||
single {
|
||||
val dotenv = get<Dotenv>()
|
||||
|
||||
TransactionManager.defaultDatabase = Database.connect(
|
||||
url = dotenv["DB_URL"],
|
||||
user = dotenv["DB_USER"],
|
||||
password = dotenv["DB_PASSWORD"],
|
||||
url = System.getProperty("DB_URL"),
|
||||
user = System.getProperty("DB_USER"),
|
||||
password = System.getProperty("DB_PASSWORD"),
|
||||
)
|
||||
|
||||
AnnouncementRepository()
|
||||
@ -112,13 +105,11 @@ fun Application.configureDependencies(
|
||||
|
||||
val serviceModule = module {
|
||||
single {
|
||||
val dotenv = get<Dotenv>()
|
||||
val jwtSecret = System.getProperty("JWT_SECRET")
|
||||
val issuer = System.getProperty("JWT_ISSUER")
|
||||
val validityInMin = System.getProperty("JWT_VALIDITY_IN_MIN").toLong()
|
||||
|
||||
val jwtSecret = dotenv["JWT_SECRET"]
|
||||
val issuer = dotenv["JWT_ISSUER"]
|
||||
val validityInMin = dotenv["JWT_VALIDITY_IN_MIN"].toLong()
|
||||
|
||||
val authSHA256DigestString = dotenv["AUTH_SHA256_DIGEST"]
|
||||
val authSHA256DigestString = System.getProperty("AUTH_SHA256_DIGEST")
|
||||
|
||||
AuthenticationService(issuer, validityInMin, jwtSecret, authSHA256DigestString)
|
||||
}
|
||||
@ -140,7 +131,7 @@ fun Application.configureDependencies(
|
||||
|
||||
install(Koin) {
|
||||
modules(
|
||||
globalModule,
|
||||
miscModule,
|
||||
repositoryModule,
|
||||
serviceModule,
|
||||
)
|
||||
|
@ -16,7 +16,7 @@ fun Application.configureHTTP() {
|
||||
configurationRepository.corsAllowedHosts.forEach { host ->
|
||||
allowHost(
|
||||
host = host,
|
||||
schemes = listOf("http", "https")
|
||||
schemes = listOf("http", "https"),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
<pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<root level="info">
|
||||
<root level="\${LOG_LEVEL:-INFO}">
|
||||
<appender-ref ref="STDOUT"/>
|
||||
</root>
|
||||
</configuration>
|
||||
|
Loading…
x
Reference in New Issue
Block a user