Merge pull request #590 from usbharu/structured-logging

構造化ログを出力するように
This commit is contained in:
usbharu 2024-09-07 14:51:14 +09:00 committed by GitHub
commit 2e836c228f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 31 additions and 82 deletions

1
.gitignore vendored
View File

@ -49,3 +49,4 @@ out/
/hideout-core/.kotlin/sessions/ /hideout-core/.kotlin/sessions/
/hideout-mastodon/.kotlin/sessions/ /hideout-mastodon/.kotlin/sessions/
/http-client.private.env.json /http-client.private.env.json
/logs/

View File

@ -48,12 +48,6 @@ repositories {
} }
} }
} }
configurations {
all {
exclude("org.springframework.boot", "spring-boot-starter-logging")
exclude("ch.qos.logback", "logback-classic")
}
}
dependencies { dependencies {
implementation("dev.usbharu:hideout-core:0.0.1") implementation("dev.usbharu:hideout-core:0.0.1")

View File

@ -90,7 +90,6 @@ dependencies {
implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.boot:spring-boot-starter-thymeleaf") implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
implementation("org.springframework.boot:spring-boot-starter-log4j2")
implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-validation")
annotationProcessor("org.springframework:spring-context-indexer") annotationProcessor("org.springframework:spring-context-indexer")
@ -125,8 +124,7 @@ dependencies {
implementation(libs.http.signature) implementation(libs.http.signature)
implementation(libs.emoji.kt) implementation(libs.emoji.kt)
implementation(libs.logback.ecs.encoder)
testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation(libs.kotlin.junit) testImplementation(libs.kotlin.junit)
@ -134,7 +132,6 @@ dependencies {
testImplementation(libs.ktor.client.mock) testImplementation(libs.ktor.client.mock)
testImplementation(libs.h2db) testImplementation(libs.h2db)
testImplementation(libs.mockito.kotlin) testImplementation(libs.mockito.kotlin)
} }
detekt { detekt {
@ -145,13 +142,19 @@ detekt {
autoCorrect = true autoCorrect = true
} }
configurations.matching { it.name == "detekt" }.all { configurations {
matching { it.name == "detekt" }.all {
resolutionStrategy.eachDependency { resolutionStrategy.eachDependency {
if (requested.group == "org.jetbrains.kotlin") { if (requested.group == "org.jetbrains.kotlin") {
useVersion(io.gitlab.arturbosch.detekt.getSupportedKotlinVersion()) useVersion(io.gitlab.arturbosch.detekt.getSupportedKotlinVersion())
} }
} }
} }
all {
exclude("org.apache.logging.log4j", "log4j-slf4j2-impl")
}
}
//tasks{ //tasks{
// bootRun { // bootRun {
@ -176,13 +179,6 @@ tasks.withType<io.gitlab.arturbosch.detekt.DetektCreateBaselineTask>().configure
exclude("**/org/koin/ksp/generated/**", "**/generated/**") exclude("**/org/koin/ksp/generated/**", "**/generated/**")
} }
configurations {
all {
exclude("org.springframework.boot", "spring-boot-starter-logging")
exclude("ch.qos.logback", "logback-classic")
}
}
project.gradle.taskGraph.whenReady { project.gradle.taskGraph.whenReady {
println(this.allTasks) println(this.allTasks)
this.allTasks.map { println(it.name) } this.allTasks.map { println(it.name) }

View File

@ -4,6 +4,8 @@ hideout:
private: true private: true
spring: spring:
application:
name: hideout
data: data:
mongodb: mongodb:
auto-index-creation: true auto-index-creation: true

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%.15t] %highlight{%-5level} %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console"/>
</Root>
<Logger name="dev.usbharu.owl.broker.service.QueuedTaskAssignerImpl" level="TRACE"/>
<Logger name="org.mongodb.driver.cluster" level="INFO"/>
<Logger name="org.apache.tomcat.util.net.NioEndpoint" level="INFO"/>
<!-- <Logger name="Exposed" level="DEBUG"/>-->
<Logger name="sun.rmi" level="INFO"/>
<Logger name="javax.management.remote.rmi" level="INFO"/>
</Loggers>
</Configuration>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="LOG_FILE" value="logs/logFile.log"/>
<property name="CONSOLE_LOG_THRESHOLD" value="${CONSOLE_LOG_THRESHOLD:-INFO}"/>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
<include resource="co/elastic/logging/logback/boot/ecs-console-appender.xml"/>
<include resource="co/elastic/logging/logback/boot/ecs-file-appender.xml"/>
<root level="TRACE">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ECS_JSON_FILE"/>
<appender-ref ref="FILE"/>
</root>
</configuration>

View File

@ -1,35 +0,0 @@
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logFile.log</file>
<encoder>
<charset>UTF-8</charset>
<pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%X{x-request-id}] %logger{36} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd_HH}.log</fileNamePattern>
<!-- keep 30 days worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %-5level [%X{x-request-id},%X{x-job-id}] %logger{36} -
%msg%n
</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
</root>
<logger name="org.eclipse.jetty" level="INFO"/>
<logger name="io.netty" level="INFO"/>
<logger name="kjob.core.internal.scheduler.JobServiceImpl" level="INFO"/>
<logger name="Exposed" level="DEBUG"/>
<logger name="io.ktor.server.plugins.contentnegotiation" level="INFO"/>
<logger name="org.springframework.web.filter.CommonsRequestLoggingFilter" level="DEBUG"/>
<logger name="org.mongodb.driver.protocol.command" level="INFO"/>
<logger name="dev.usbharu" level="TRACE"/>
</configuration>

View File

@ -41,19 +41,12 @@ repositories {
} }
} }
configurations {
all {
exclude("org.springframework.boot", "spring-boot-starter-logging")
exclude("ch.qos.logback", "logback-classic")
}
}
dependencies { dependencies {
detektPlugins(libs.detekt.formatting) detektPlugins(libs.detekt.formatting)
implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-security")
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310") implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
implementation("org.springframework.boot:spring-boot-starter-log4j2")
implementation("dev.usbharu:hideout-core:0.0.1") implementation("dev.usbharu:hideout-core:0.0.1")

View File

@ -105,6 +105,8 @@ mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "5.4.
http-signature = { module = "dev.usbharu:http-signature", version = "1.0.0" } http-signature = { module = "dev.usbharu:http-signature", version = "1.0.0" }
emoji-kt = { module = "dev.usbharu:emoji-kt", version = "2.0.0" } emoji-kt = { module = "dev.usbharu:emoji-kt", version = "2.0.0" }
logback-ecs-encoder = { module = "co.elastic.logging:logback-ecs-encoder", version = "1.6.0" }
[bundles] [bundles]
exposed = ["exposed-core", "exposed-java-time", "exposed-jdbc", "exposed-spring"] exposed = ["exposed-core", "exposed-java-time", "exposed-jdbc", "exposed-spring"]