feat: vereinheitliche Startup-Logs in allen Backend-Services, verbessere Konsistenz und Diagnosemöglichkeiten
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
This commit is contained in:
parent
8f45544fe1
commit
0426d4ee9a
|
|
@ -1,25 +1,30 @@
|
||||||
package at.mocode.infrastructure.gateway
|
package at.mocode.infrastructure.gateway
|
||||||
|
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.beans.factory.getBean
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
import org.springframework.core.env.Environment
|
import org.springframework.core.env.Environment
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
class GatewayApplication
|
class GatewayApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(GatewayApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8081")
|
||||||
|
val appName = env.getProperty("spring.application.name", "gateway")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
val context = runApplication<GatewayApplication>(*args)
|
runApplication<GatewayApplication>(*args)
|
||||||
val logger = LoggerFactory.getLogger(GatewayApplication::class.java)
|
|
||||||
val env = context.getBean<Environment>()
|
|
||||||
val port = env.getProperty("server.port") ?: "8081"
|
|
||||||
|
|
||||||
logger.info("""
|
|
||||||
----------------------------------------------------------
|
|
||||||
Application 'Gateway' is running!
|
|
||||||
Port: $port
|
|
||||||
Profiles: ${env.activeProfiles.joinToString(", ").ifEmpty { "default" }}
|
|
||||||
----------------------------------------------------------
|
|
||||||
""".trimIndent())
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,33 @@
|
||||||
|
|
||||||
package at.mocode.billing.service
|
package at.mocode.billing.service
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
import kotlin.uuid.ExperimentalUuidApi
|
import kotlin.uuid.ExperimentalUuidApi
|
||||||
|
|
||||||
@EnableDiscoveryClient
|
@EnableDiscoveryClient
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
class BillingServiceApplication
|
class BillingServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(BillingServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8087")
|
||||||
|
val appName = env.getProperty("spring.application.name", "billing-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
runApplication<BillingServiceApplication>(*args)
|
runApplication<BillingServiceApplication>(*args)
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,13 @@
|
||||||
package at.mocode.entries.service
|
package at.mocode.entries.service
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
import org.springframework.context.annotation.Bean
|
import org.springframework.context.annotation.Bean
|
||||||
import org.springframework.context.annotation.EnableAspectJAutoProxy
|
import org.springframework.context.annotation.EnableAspectJAutoProxy
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
import org.springframework.web.servlet.config.annotation.CorsRegistry
|
import org.springframework.web.servlet.config.annotation.CorsRegistry
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
|
||||||
|
|
||||||
|
|
@ -13,7 +17,21 @@ fun main(args: Array<String>) {
|
||||||
|
|
||||||
@SpringBootApplication(scanBasePackages = ["at.mocode.entries", "at.mocode.billing", "at.mocode.infrastructure.security"])
|
@SpringBootApplication(scanBasePackages = ["at.mocode.entries", "at.mocode.billing", "at.mocode.infrastructure.security"])
|
||||||
@EnableAspectJAutoProxy
|
@EnableAspectJAutoProxy
|
||||||
class EntriesServiceApplication {
|
class EntriesServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(EntriesServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8084")
|
||||||
|
val appName = env.getProperty("spring.application.name", "entries-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
fun corsConfigurer(): WebMvcConfigurer {
|
fun corsConfigurer(): WebMvcConfigurer {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,12 @@
|
||||||
package at.mocode.events.service
|
package at.mocode.events.service
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main application class for the Events Service.
|
* Main application class for the Events Service.
|
||||||
|
|
@ -11,7 +15,22 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
||||||
*/
|
*/
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableDiscoveryClient
|
@EnableDiscoveryClient
|
||||||
class EventsServiceApplication
|
class EventsServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(EventsServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8085")
|
||||||
|
val appName = env.getProperty("spring.application.name", "events-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main entry point for the Events Service application.
|
* Main entry point for the Events Service application.
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,29 @@
|
||||||
package at.mocode.identity.service
|
package at.mocode.identity.service
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
|
|
||||||
@SpringBootApplication(scanBasePackages = ["at.mocode.identity", "at.mocode.infrastructure.security", "at.mocode.backend.infrastructure.persistence"])
|
@SpringBootApplication(scanBasePackages = ["at.mocode.identity", "at.mocode.infrastructure.security", "at.mocode.backend.infrastructure.persistence"])
|
||||||
class IdentityServiceApplication
|
class IdentityServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(IdentityServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8089")
|
||||||
|
val appName = env.getProperty("spring.application.name", "identity-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
runApplication<IdentityServiceApplication>(*args)
|
runApplication<IdentityServiceApplication>(*args)
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,29 @@
|
||||||
package at.mocode.mail.service
|
package at.mocode.mail.service
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
class MailServiceApplication
|
class MailServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(MailServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8083")
|
||||||
|
val appName = env.getProperty("spring.application.name", "mail-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
runApplication<MailServiceApplication>(*args)
|
runApplication<MailServiceApplication>(*args)
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,34 @@
|
||||||
package at.mocode.ping
|
package at.mocode.ping
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
import org.springframework.context.annotation.ComponentScan
|
import org.springframework.context.annotation.ComponentScan
|
||||||
import org.springframework.context.annotation.EnableAspectJAutoProxy
|
import org.springframework.context.annotation.EnableAspectJAutoProxy
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableAspectJAutoProxy
|
@EnableAspectJAutoProxy
|
||||||
// Scannt das eigene Service-Package UND das Security-Infrastruktur-Package
|
// Scannt das eigene Service-Package UND das Security-Infrastruktur-Package
|
||||||
@ComponentScan(basePackages = ["at.mocode.ping", "at.mocode.infrastructure.security"])
|
@ComponentScan(basePackages = ["at.mocode.ping", "at.mocode.infrastructure.security"])
|
||||||
class PingServiceApplication
|
class PingServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(PingServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8082")
|
||||||
|
val appName = env.getProperty("spring.application.name", "ping-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
runApplication<PingServiceApplication>(*args)
|
runApplication<PingServiceApplication>(*args)
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,33 @@ package at.mocode.results.service
|
||||||
|
|
||||||
import at.mocode.results.service.application.ResultsService
|
import at.mocode.results.service.application.ResultsService
|
||||||
import at.mocode.results.service.domain.Ergebnis
|
import at.mocode.results.service.domain.Ergebnis
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
import org.springframework.web.bind.annotation.*
|
import org.springframework.web.bind.annotation.*
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableDiscoveryClient
|
@EnableDiscoveryClient
|
||||||
class ResultsServiceApplication
|
class ResultsServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(ResultsServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8088")
|
||||||
|
val appName = env.getProperty("spring.application.name", "results-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
runApplication<ResultsServiceApplication>(*args)
|
runApplication<ResultsServiceApplication>(*args)
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,31 @@
|
||||||
package at.mocode.scheduling.service
|
package at.mocode.scheduling.service
|
||||||
|
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
import org.springframework.web.bind.annotation.GetMapping
|
import org.springframework.web.bind.annotation.GetMapping
|
||||||
import org.springframework.web.bind.annotation.RestController
|
import org.springframework.web.bind.annotation.RestController
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
class SchedulingServiceApplication
|
class SchedulingServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(SchedulingServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8089")
|
||||||
|
val appName = env.getProperty("spring.application.name", "scheduling-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
runApplication<SchedulingServiceApplication>(*args)
|
runApplication<SchedulingServiceApplication>(*args)
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,33 @@ package at.mocode.series.service
|
||||||
import at.mocode.series.service.application.SeriesService
|
import at.mocode.series.service.application.SeriesService
|
||||||
import at.mocode.series.service.domain.Serie
|
import at.mocode.series.service.domain.Serie
|
||||||
import at.mocode.series.service.domain.SeriePunkt
|
import at.mocode.series.service.domain.SeriePunkt
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
import org.springframework.web.bind.annotation.*
|
import org.springframework.web.bind.annotation.*
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableDiscoveryClient
|
@EnableDiscoveryClient
|
||||||
class SeriesServiceApplication
|
class SeriesServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(SeriesServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8089")
|
||||||
|
val appName = env.getProperty("spring.application.name", "series-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
runApplication<SeriesServiceApplication>(*args)
|
runApplication<SeriesServiceApplication>(*args)
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,30 @@ package at.mocode.zns.import.service
|
||||||
|
|
||||||
import at.mocode.masterdata.domain.repository.*
|
import at.mocode.masterdata.domain.repository.*
|
||||||
import at.mocode.zns.importer.ZnsImportService
|
import at.mocode.zns.importer.ZnsImportService
|
||||||
|
import org.slf4j.LoggerFactory
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.boot.context.event.ApplicationReadyEvent
|
||||||
import org.springframework.boot.runApplication
|
import org.springframework.boot.runApplication
|
||||||
import org.springframework.context.annotation.Bean
|
import org.springframework.context.annotation.Bean
|
||||||
|
import org.springframework.context.event.EventListener
|
||||||
|
import org.springframework.core.env.Environment
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
class ZnsImportServiceApplication {
|
class ZnsImportServiceApplication(private val env: Environment) {
|
||||||
|
|
||||||
|
private val log = LoggerFactory.getLogger(ZnsImportServiceApplication::class.java)
|
||||||
|
|
||||||
|
@EventListener(ApplicationReadyEvent::class)
|
||||||
|
fun onApplicationReady() {
|
||||||
|
val springPort = env.getProperty("server.port", "8095")
|
||||||
|
val appName = env.getProperty("spring.application.name", "zns-import-service")
|
||||||
|
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
log.info("Application '{}' is running!", appName)
|
||||||
|
log.info("Spring Management Port: {}", springPort)
|
||||||
|
log.info("Profiles: {}", env.activeProfiles.joinToString(", "))
|
||||||
|
log.info("----------------------------------------------------------")
|
||||||
|
}
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
fun znsImportService(
|
fun znsImportService(
|
||||||
|
|
|
||||||
58
docs/99_Journal/2026-04-16_Consolidated-Startup-Logs.md
Normal file
58
docs/99_Journal/2026-04-16_Consolidated-Startup-Logs.md
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
# 📓 Journal-Eintrag: 2026-04-16 - Vereinheitlichung der Service-Start-Logs
|
||||||
|
|
||||||
|
## 🏗️ Status Quo
|
||||||
|
|
||||||
|
Nach dem Vorbild des `masterdata-service` sollten alle Backend-Services konsistente Informationen beim Start in die
|
||||||
|
Konsole loggen.
|
||||||
|
|
||||||
|
## 🚀 Umgesetzte Änderungen
|
||||||
|
|
||||||
|
### 1. onApplicationReady() Implementierung
|
||||||
|
|
||||||
|
In allen 11 Backend-Services wurde die Methode `onApplicationReady()` in der jeweiligen Application-Klasse
|
||||||
|
implementiert. Diese reagiert auf das `ApplicationReadyEvent` von Spring Boot.
|
||||||
|
|
||||||
|
**Betroffene Services:**
|
||||||
|
|
||||||
|
- `api-gateway`
|
||||||
|
- `masterdata-service` (bereits vorhanden)
|
||||||
|
- `events-service`
|
||||||
|
- `zns-import-service`
|
||||||
|
- `ping-service`
|
||||||
|
- `billing-service`
|
||||||
|
- `entries-service`
|
||||||
|
- `identity-service`
|
||||||
|
- `mail-service`
|
||||||
|
- `results-service`
|
||||||
|
- `scheduling-service`
|
||||||
|
- `series-service`
|
||||||
|
|
||||||
|
### 2. Standardisiertes Log-Format
|
||||||
|
|
||||||
|
Das Log-Format wurde vereinheitlicht und gibt nun folgende Informationen aus:
|
||||||
|
|
||||||
|
- Anwendungsname (aus `spring.application.name`)
|
||||||
|
- Spring Management Port (Actuator)
|
||||||
|
- Ktor API Port (falls zutreffend, z.B. bei `masterdata-service`)
|
||||||
|
- Aktive Spring-Profile
|
||||||
|
|
||||||
|
**Beispiel:**
|
||||||
|
|
||||||
|
```
|
||||||
|
----------------------------------------------------------
|
||||||
|
Application 'events-service' is running!
|
||||||
|
Spring Management Port: 8085
|
||||||
|
Profiles: docker
|
||||||
|
----------------------------------------------------------
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🛠️ Technische Details
|
||||||
|
|
||||||
|
- Verwendung von `@EventListener(ApplicationReadyEvent::class)` für den exakten Zeitpunkt, wenn die App bereit ist.
|
||||||
|
- Dynamisches Auslesen der Ports und Profile über das `Environment` Objekt.
|
||||||
|
- Bereinigung der `main`-Funktion im API Gateway zugunsten des deklarativen `@EventListener` Ansatzes.
|
||||||
|
|
||||||
|
---
|
||||||
|
**🧹 [Curator]**: Start-Logs über alle Backend-Services hinweg konsolidiert.
|
||||||
|
**👷 [Backend Developer]**: Alle Application-Klassen konsistent refactored.
|
||||||
|
**🏗️ [Lead Architect]**: Observability und Diagnosemöglichkeiten beim Systemstart verbessert.
|
||||||
Loading…
Reference in New Issue
Block a user