replace log4j2 with logback
This commit is contained in:
parent
bfae7c9802
commit
e8ace4fea5
@ -10,5 +10,5 @@ dependencies {
|
|||||||
api(libs.annotations)
|
api(libs.annotations)
|
||||||
implementation(libs.sqlite)
|
implementation(libs.sqlite)
|
||||||
implementation(libs.hikari)
|
implementation(libs.hikari)
|
||||||
implementation(libs.log4j2.api)
|
implementation(libs.slf4j)
|
||||||
}
|
}
|
@ -6,9 +6,9 @@ import eu.jonahbauer.chat.bot.database.annotations.Table;
|
|||||||
import lombok.Lombok;
|
import lombok.Lombok;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.lang.invoke.MethodHandle;
|
import java.lang.invoke.MethodHandle;
|
||||||
import java.lang.invoke.MethodHandles;
|
import java.lang.invoke.MethodHandles;
|
||||||
@ -121,7 +121,7 @@ public class Helper {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
private static final @NotNull Logger log = LogManager.getLogger("eu.jonahbauer.chat.bot.database.SQL");
|
private static final @NotNull Logger log = LoggerFactory.getLogger("eu.jonahbauer.chat.bot.database.SQL");
|
||||||
public static void logSqlStatement(@NotNull String sql) {
|
public static void logSqlStatement(@NotNull String sql) {
|
||||||
log.debug(sql);
|
log.debug(sql);
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ module eu.jonahbauer.chat.bot.database {
|
|||||||
requires transitive java.sql;
|
requires transitive java.sql;
|
||||||
requires org.xerial.sqlitejdbc;
|
requires org.xerial.sqlitejdbc;
|
||||||
requires com.zaxxer.hikari;
|
requires com.zaxxer.hikari;
|
||||||
requires org.apache.logging.log4j;
|
requires org.slf4j;
|
||||||
|
|
||||||
requires static lombok;
|
requires static lombok;
|
||||||
requires static transitive org.jetbrains.annotations;
|
requires static transitive org.jetbrains.annotations;
|
||||||
|
@ -3,7 +3,7 @@ import eu.jonahbauer.chat.bot.ping.PingBot;
|
|||||||
|
|
||||||
module eu.jonahbauer.chat.bot.ping {
|
module eu.jonahbauer.chat.bot.ping {
|
||||||
requires eu.jonahbauer.chat.bot.api;
|
requires eu.jonahbauer.chat.bot.api;
|
||||||
requires org.apache.logging.log4j;
|
requires org.slf4j;
|
||||||
requires static lombok;
|
requires static lombok;
|
||||||
|
|
||||||
provides ChatBot with PingBot;
|
provides ChatBot with PingBot;
|
||||||
|
@ -9,7 +9,7 @@ val libs = versionCatalogs.named("libs")
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(":bot-api"))
|
implementation(project(":bot-api"))
|
||||||
implementation(libs.findLibrary("log4j2-api").get())
|
implementation(libs.findLibrary("slf4j").get())
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType<JavaCompile> {
|
tasks.withType<JavaCompile> {
|
||||||
|
@ -3,8 +3,9 @@ annotations = "24.1.0"
|
|||||||
hikari = "5.1.0"
|
hikari = "5.1.0"
|
||||||
jackson = "2.16.1"
|
jackson = "2.16.1"
|
||||||
junit = "5.10.2"
|
junit = "5.10.2"
|
||||||
log4j2 = "2.22.1"
|
logback = "1.5.3"
|
||||||
lombok = "1.18.30"
|
lombok = "1.18.30"
|
||||||
|
slf4j = "2.0.12"
|
||||||
sqlite = "3.44.1.0"
|
sqlite = "3.44.1.0"
|
||||||
|
|
||||||
[libraries]
|
[libraries]
|
||||||
@ -13,14 +14,12 @@ hikari = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
|
|||||||
jackson-annotations = { module = "com.fasterxml.jackson.core:jackson-annotations", version.ref = "jackson"}
|
jackson-annotations = { module = "com.fasterxml.jackson.core:jackson-annotations", version.ref = "jackson"}
|
||||||
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson"}
|
jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson"}
|
||||||
jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jackson"}
|
jackson-datatype-jsr310 = { module = "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", version.ref = "jackson"}
|
||||||
|
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
||||||
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
|
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
|
||||||
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" }
|
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" }
|
||||||
log4j2-api = { module = "org.apache.logging.log4j:log4j-api", version.ref = "log4j2"}
|
|
||||||
log4j2-core = { module = "org.apache.logging.log4j:log4j-core", version.ref = "log4j2"}
|
|
||||||
log4j2-slf4j = { module = "org.apache.logging.log4j:log4j-slf4j2-impl", version.ref = "log4j2"}
|
|
||||||
lombok = { module = "org.projectlombok:lombok", version.ref = "lombok" }
|
lombok = { module = "org.projectlombok:lombok", version.ref = "lombok" }
|
||||||
|
slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
|
||||||
sqlite = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite"}
|
sqlite = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite"}
|
||||||
|
|
||||||
[bundles]
|
[bundles]
|
||||||
jackson = ["jackson-databind", "jackson-annotations", "jackson-datatype-jsr310"]
|
jackson = ["jackson-databind", "jackson-annotations", "jackson-datatype-jsr310"]
|
||||||
log4j2 = ["log4j2-api", "log4j2-core", "log4j2-slf4j"]
|
|
@ -11,8 +11,10 @@ val bots = project(":bots").subprojects
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation(project(":bot-api"))
|
implementation(project(":bot-api"))
|
||||||
implementation(project(":management"))
|
implementation(project(":management"))
|
||||||
implementation(libs.bundles.log4j2)
|
|
||||||
implementation(libs.bundles.jackson)
|
implementation(libs.bundles.jackson)
|
||||||
|
implementation(libs.slf4j)
|
||||||
|
|
||||||
|
runtimeOnly(libs.logback)
|
||||||
|
|
||||||
bots.forEach {
|
bots.forEach {
|
||||||
implementation(project(it.path))
|
implementation(project(it.path))
|
||||||
|
@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|||||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
import eu.jonahbauer.chat.bot.config.BotConfig;
|
import eu.jonahbauer.chat.bot.config.BotConfig;
|
||||||
import eu.jonahbauer.chat.server.bot.BotConfigDeserializer;
|
import eu.jonahbauer.chat.server.bot.BotConfigDeserializer;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -13,6 +14,7 @@ import java.util.Map;
|
|||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
public record Config(
|
public record Config(
|
||||||
@NotNull Account account,
|
@NotNull Account account,
|
||||||
@NotNull Set<@NotNull String> channels,
|
@NotNull Set<@NotNull String> channels,
|
||||||
@ -40,6 +42,8 @@ public record Config(
|
|||||||
public static @NotNull Config read(@NotNull URL url) throws IOException {
|
public static @NotNull Config read(@NotNull URL url) throws IOException {
|
||||||
var mapper = new ObjectMapper();
|
var mapper = new ObjectMapper();
|
||||||
return mapper.readValue(url, Config.class);
|
return mapper.readValue(url, Config.class);
|
||||||
|
log.info("Loading configuration from " + url);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Config {
|
public Config {
|
||||||
|
@ -10,7 +10,7 @@ import eu.jonahbauer.chat.server.management.impl.ChatBotManager;
|
|||||||
import eu.jonahbauer.chat.server.management.impl.ChatBotSupport;
|
import eu.jonahbauer.chat.server.management.impl.ChatBotSupport;
|
||||||
import eu.jonahbauer.chat.server.socket.SocketSupervisor;
|
import eu.jonahbauer.chat.server.socket.SocketSupervisor;
|
||||||
import eu.jonahbauer.chat.server.util.Lazy;
|
import eu.jonahbauer.chat.server.util.Lazy;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.Blocking;
|
import org.jetbrains.annotations.Blocking;
|
||||||
import org.jetbrains.annotations.Contract;
|
import org.jetbrains.annotations.Contract;
|
||||||
import org.jetbrains.annotations.NonBlocking;
|
import org.jetbrains.annotations.NonBlocking;
|
||||||
@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentMap;
|
|||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.locks.ReentrantLock;
|
import java.util.concurrent.locks.ReentrantLock;
|
||||||
|
|
||||||
@Log4j2
|
@Slf4j
|
||||||
public final class ChatBotSupervisor implements AutoCloseable {
|
public final class ChatBotSupervisor implements AutoCloseable {
|
||||||
private static final Duration POST_EXPIRATION = Duration.ofSeconds(2);
|
private static final Duration POST_EXPIRATION = Duration.ofSeconds(2);
|
||||||
private static final int MESSAGE_QUEUE_SIZE = 10;
|
private static final int MESSAGE_QUEUE_SIZE = 10;
|
||||||
|
@ -4,7 +4,7 @@ import eu.jonahbauer.chat.server.management.annotations.ManagedAttribute;
|
|||||||
import eu.jonahbauer.chat.server.management.annotations.ManagedBean;
|
import eu.jonahbauer.chat.server.management.annotations.ManagedBean;
|
||||||
import eu.jonahbauer.chat.server.management.annotations.ManagedOperation;
|
import eu.jonahbauer.chat.server.management.annotations.ManagedOperation;
|
||||||
import eu.jonahbauer.chat.server.management.annotations.ManagedParameter;
|
import eu.jonahbauer.chat.server.management.annotations.ManagedParameter;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@ -16,7 +16,7 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
@Log4j2
|
@Slf4j
|
||||||
class AdvancedMBean extends StandardMBean {
|
class AdvancedMBean extends StandardMBean {
|
||||||
public AdvancedMBean(@NotNull Object implementation) {
|
public AdvancedMBean(@NotNull Object implementation) {
|
||||||
super(implementation, null, true);
|
super(implementation, null, true);
|
||||||
|
@ -5,14 +5,14 @@ import eu.jonahbauer.chat.server.bot.ChatBotSupervisor;
|
|||||||
import eu.jonahbauer.chat.server.management.BotConfigSupport;
|
import eu.jonahbauer.chat.server.management.BotConfigSupport;
|
||||||
import eu.jonahbauer.chat.server.management.ChatBotSupportMXBean;
|
import eu.jonahbauer.chat.server.management.ChatBotSupportMXBean;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.lang.management.ManagementFactory;
|
import java.lang.management.ManagementFactory;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Log4j2
|
@Slf4j
|
||||||
public final class ChatBotSupport implements ChatBotSupportMXBean {
|
public final class ChatBotSupport implements ChatBotSupportMXBean {
|
||||||
private final @NotNull ChatBotSupervisor supervisor;
|
private final @NotNull ChatBotSupervisor supervisor;
|
||||||
private final @NotNull String name;
|
private final @NotNull String name;
|
||||||
|
@ -4,7 +4,7 @@ import eu.jonahbauer.chat.server.management.SocketState;
|
|||||||
import eu.jonahbauer.chat.server.management.SocketSupportMXBean;
|
import eu.jonahbauer.chat.server.management.SocketSupportMXBean;
|
||||||
import eu.jonahbauer.chat.server.socket.SocketSupervisor;
|
import eu.jonahbauer.chat.server.socket.SocketSupervisor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@ -12,7 +12,7 @@ import java.lang.management.ManagementFactory;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@Log4j2
|
@Slf4j
|
||||||
@Getter
|
@Getter
|
||||||
public final class SocketSupport implements SocketSupportMXBean {
|
public final class SocketSupport implements SocketSupportMXBean {
|
||||||
private final @NotNull SocketSupervisor supervisor;
|
private final @NotNull SocketSupervisor supervisor;
|
||||||
|
@ -12,8 +12,7 @@ import eu.jonahbauer.chat.server.management.impl.SocketManager;
|
|||||||
import eu.jonahbauer.chat.server.management.impl.SocketSupport;
|
import eu.jonahbauer.chat.server.management.impl.SocketSupport;
|
||||||
import eu.jonahbauer.chat.server.util.Lazy;
|
import eu.jonahbauer.chat.server.util.Lazy;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.log4j.Log4j2;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.logging.log4j.Level;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@ -34,7 +33,7 @@ import java.util.concurrent.locks.ReentrantLock;
|
|||||||
|
|
||||||
import static eu.jonahbauer.chat.server.util.UrlTemplateProcessor.URL;
|
import static eu.jonahbauer.chat.server.util.UrlTemplateProcessor.URL;
|
||||||
|
|
||||||
@Log4j2
|
@Slf4j
|
||||||
public final class SocketSupervisor implements Chat, AutoCloseable {
|
public final class SocketSupervisor implements Chat, AutoCloseable {
|
||||||
private static final URI AUTH_SERVER = URI.create("https://chat.qed-verein.de/rubychat/account");
|
private static final URI AUTH_SERVER = URI.create("https://chat.qed-verein.de/rubychat/account");
|
||||||
private static final String ORIGIN = "https://chat.qed-verein.de";
|
private static final String ORIGIN = "https://chat.qed-verein.de";
|
||||||
@ -449,8 +448,11 @@ public final class SocketSupervisor implements Chat, AutoCloseable {
|
|||||||
try {
|
try {
|
||||||
var message = MAPPER.readValue(text, Message.class);
|
var message = MAPPER.readValue(text, Message.class);
|
||||||
|
|
||||||
var level = message instanceof Message.Post || message instanceof Message.Ack ? Level.INFO : Level.DEBUG;
|
if (message instanceof Message.Post) {
|
||||||
log.log(level, "Received message: {}", message);
|
log.info("Received message: {}", message);
|
||||||
|
} else {
|
||||||
|
log.debug("Received message: {}", message);
|
||||||
|
}
|
||||||
|
|
||||||
if (message instanceof Message.Post post) {
|
if (message instanceof Message.Post post) {
|
||||||
delay = post.id() + 1;
|
delay = post.id() + 1;
|
||||||
|
@ -10,8 +10,8 @@ module eu.jonahbauer.chat.server {
|
|||||||
requires eu.jonahbauer.chat.server.management;
|
requires eu.jonahbauer.chat.server.management;
|
||||||
requires java.management;
|
requires java.management;
|
||||||
requires java.net.http;
|
requires java.net.http;
|
||||||
requires org.apache.logging.log4j;
|
|
||||||
requires org.jetbrains.annotations;
|
requires org.jetbrains.annotations;
|
||||||
|
requires org.slf4j;
|
||||||
|
|
||||||
requires static lombok;
|
requires static lombok;
|
||||||
}
|
}
|
@ -1,12 +0,0 @@
|
|||||||
<Configuration>
|
|
||||||
<Appenders>
|
|
||||||
<Console name="console" target="SYSTEM_OUT">
|
|
||||||
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight{%-5level} [%15.15t] %style{%c{1}}{cyan} : %msg%n" />
|
|
||||||
</Console>
|
|
||||||
</Appenders>
|
|
||||||
<Loggers>
|
|
||||||
<Root level="info" additivity="false">
|
|
||||||
<AppenderRef ref="console" />
|
|
||||||
</Root>
|
|
||||||
</Loggers>
|
|
||||||
</Configuration>
|
|
11
server/src/main/resources/logback.xml
Normal file
11
server/src/main/resources/logback.xml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<configuration>
|
||||||
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<encoder>
|
||||||
|
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) [%15.15t] %cyan(%c{1}) : %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
|
||||||
|
<root level="info">
|
||||||
|
<appender-ref ref="STDOUT"/>
|
||||||
|
</root>
|
||||||
|
</configuration>
|
Loading…
x
Reference in New Issue
Block a user