M1-AP04: Logging-Adapter, SLF4J-Fassade etabliert

This commit is contained in:
2026-04-09 08:10:04 +02:00
parent bd45de8d08
commit a1a48e9011
5 changed files with 285 additions and 7 deletions

View File

@@ -21,8 +21,8 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Haupteinstiegspunkt für die ASV Format Validator CLI-Anwendung.
@@ -38,7 +38,7 @@ public class AsvValidatorApplication {
private static final int EXIT_CODE_FILE_ERROR = 2;
private static final int EXIT_CODE_VALIDATION_ERRORS = 3;
private static final Logger logger = LogManager.getLogger(AsvValidatorApplication.class);
private static final Logger logger = LoggerFactory.getLogger(AsvValidatorApplication.class);
private final InputFileParser parser;
private final InputFileValidator validator;

View File

@@ -0,0 +1,21 @@
package de.gecheckt.asv.adapter.out.logging;
import java.nio.file.Path;
/**
* Konfiguriert den Log4j2-Logging-Adapter programmatisch.
* Erlaubt es, den Zielpfad der Log-Datei zur Laufzeit zu setzen.
* Log4j2-Typen dürfen in diesem Paket direkt verwendet werden.
*/
public class LoggingConfigurator {
/**
* Setzt den Zielpfad der Log-Datei für diesen Lauf.
* Die tatsächliche dynamische Umleitung wird in AP07 implementiert.
*
* @param logFile Pfad zur Log-Datei
*/
public void configureLogFile(Path logFile) {
// TODO: dynamische Log-Datei-Umleitung in AP07
}
}

View File

@@ -1,13 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
<Console name="Console" target="SYSTEM_ERR">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="File" fileName="logs/asv-format-validator.log" append="true">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="info">
<Logger name="de.gecheckt.asv" level="INFO" additivity="false">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Logger>
<Root level="WARN">
<AppenderRef ref="Console"/>
<AppenderRef ref="File"/>
</Root>
</Loggers>
</Configuration>
</Configuration>