replace log4j2 with logback

This commit is contained in:
jbb01 2024-04-01 18:04:25 +02:00
parent bfae7c9802
commit e8ace4fea5
16 changed files with 46 additions and 40 deletions

View File

@ -10,5 +10,5 @@ dependencies {
api(libs.annotations)
implementation(libs.sqlite)
implementation(libs.hikari)
implementation(libs.log4j2.api)
implementation(libs.slf4j)
}

View File

@ -6,9 +6,9 @@ import eu.jonahbauer.chat.bot.database.annotations.Table;
import lombok.Lombok;
import lombok.SneakyThrows;
import lombok.experimental.UtilityClass;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.lang.invoke.MethodHandle;
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) {
log.debug(sql);
}

View File

@ -5,7 +5,7 @@ module eu.jonahbauer.chat.bot.database {
requires transitive java.sql;
requires org.xerial.sqlitejdbc;
requires com.zaxxer.hikari;
requires org.apache.logging.log4j;
requires org.slf4j;
requires static lombok;
requires static transitive org.jetbrains.annotations;

View File

@ -3,7 +3,7 @@ import eu.jonahbauer.chat.bot.ping.PingBot;
module eu.jonahbauer.chat.bot.ping {
requires eu.jonahbauer.chat.bot.api;
requires org.apache.logging.log4j;
requires org.slf4j;
requires static lombok;
provides ChatBot with PingBot;

View File

@ -9,7 +9,7 @@ val libs = versionCatalogs.named("libs")
dependencies {
implementation(project(":bot-api"))
implementation(libs.findLibrary("log4j2-api").get())
implementation(libs.findLibrary("slf4j").get())
}
tasks.withType<JavaCompile> {

View File

@ -3,8 +3,9 @@ annotations = "24.1.0"
hikari = "5.1.0"
jackson = "2.16.1"
junit = "5.10.2"
log4j2 = "2.22.1"
logback = "1.5.3"
lombok = "1.18.30"
slf4j = "2.0.12"
sqlite = "3.44.1.0"
[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-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"}
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
junit-bom = { module = "org.junit:junit-bom", version.ref = "junit" }
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" }
slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
sqlite = { module = "org.xerial:sqlite-jdbc", version.ref = "sqlite"}
[bundles]
jackson = ["jackson-databind", "jackson-annotations", "jackson-datatype-jsr310"]
log4j2 = ["log4j2-api", "log4j2-core", "log4j2-slf4j"]

View File

@ -11,8 +11,10 @@ val bots = project(":bots").subprojects
dependencies {
implementation(project(":bot-api"))
implementation(project(":management"))
implementation(libs.bundles.log4j2)
implementation(libs.bundles.jackson)
implementation(libs.slf4j)
runtimeOnly(libs.logback)
bots.forEach {
implementation(project(it.path))

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import eu.jonahbauer.chat.bot.config.BotConfig;
import eu.jonahbauer.chat.server.bot.BotConfigDeserializer;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
@ -13,6 +14,7 @@ import java.util.Map;
import java.util.Objects;
import java.util.Set;
@Slf4j
public record Config(
@NotNull Account account,
@NotNull Set<@NotNull String> channels,
@ -40,6 +42,8 @@ public record Config(
public static @NotNull Config read(@NotNull URL url) throws IOException {
var mapper = new ObjectMapper();
return mapper.readValue(url, Config.class);
log.info("Loading configuration from " + url);
}
public Config {

View File

@ -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.socket.SocketSupervisor;
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.Contract;
import org.jetbrains.annotations.NonBlocking;
@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantLock;
@Log4j2
@Slf4j
public final class ChatBotSupervisor implements AutoCloseable {
private static final Duration POST_EXPIRATION = Duration.ofSeconds(2);
private static final int MESSAGE_QUEUE_SIZE = 10;

View File

@ -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.ManagedOperation;
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.Nullable;
@ -16,7 +16,7 @@ import java.util.List;
import java.util.Locale;
import java.util.function.Function;
@Log4j2
@Slf4j
class AdvancedMBean extends StandardMBean {
public AdvancedMBean(@NotNull Object implementation) {
super(implementation, null, true);

View File

@ -5,14 +5,14 @@ import eu.jonahbauer.chat.server.bot.ChatBotSupervisor;
import eu.jonahbauer.chat.server.management.BotConfigSupport;
import eu.jonahbauer.chat.server.management.ChatBotSupportMXBean;
import lombok.Getter;
import lombok.extern.log4j.Log4j2;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import java.lang.management.ManagementFactory;
import java.util.Objects;
@Getter
@Log4j2
@Slf4j
public final class ChatBotSupport implements ChatBotSupportMXBean {
private final @NotNull ChatBotSupervisor supervisor;
private final @NotNull String name;

View File

@ -4,7 +4,7 @@ import eu.jonahbauer.chat.server.management.SocketState;
import eu.jonahbauer.chat.server.management.SocketSupportMXBean;
import eu.jonahbauer.chat.server.socket.SocketSupervisor;
import lombok.Getter;
import lombok.extern.log4j.Log4j2;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ -12,7 +12,7 @@ import java.lang.management.ManagementFactory;
import java.util.Date;
import java.util.Objects;
@Log4j2
@Slf4j
@Getter
public final class SocketSupport implements SocketSupportMXBean {
private final @NotNull SocketSupervisor supervisor;

View File

@ -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.util.Lazy;
import lombok.SneakyThrows;
import lombok.extern.log4j.Log4j2;
import org.apache.logging.log4j.Level;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@ -34,7 +33,7 @@ import java.util.concurrent.locks.ReentrantLock;
import static eu.jonahbauer.chat.server.util.UrlTemplateProcessor.URL;
@Log4j2
@Slf4j
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 String ORIGIN = "https://chat.qed-verein.de";
@ -449,8 +448,11 @@ public final class SocketSupervisor implements Chat, AutoCloseable {
try {
var message = MAPPER.readValue(text, Message.class);
var level = message instanceof Message.Post || message instanceof Message.Ack ? Level.INFO : Level.DEBUG;
log.log(level, "Received message: {}", message);
if (message instanceof Message.Post) {
log.info("Received message: {}", message);
} else {
log.debug("Received message: {}", message);
}
if (message instanceof Message.Post post) {
delay = post.id() + 1;

View File

@ -10,8 +10,8 @@ module eu.jonahbauer.chat.server {
requires eu.jonahbauer.chat.server.management;
requires java.management;
requires java.net.http;
requires org.apache.logging.log4j;
requires org.jetbrains.annotations;
requires org.slf4j;
requires static lombok;
}

View File

@ -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>

View 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>