Fixed `-L` option being ignored when using internal taggers
Change-Id: Ia927468662cc232acb9bb9615fb56420cff73b11
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 37d0b53..e1beba6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## [v3.1.3] - unreleased
+
+### Fixed
+
+- Fixed `-L` (log directory) option being ignored when using internal taggers (`-T opennlp`, `-T marmot`, etc.)
+
## [v3.1.2] - 2025-12-18
### Fixed
diff --git a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
index d4dbda4..84f8c07 100644
--- a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
+++ b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
@@ -2079,7 +2079,14 @@
}
// Set up logging to file (like krill format does)
- val logFilePath = outputMorphoZipFileName.replace(Regex("\\.zip$"), ".log")
+ var logFilePath = outputMorphoZipFileName.replace(Regex("\\.zip$"), ".log")
+
+ if (logDir != null) {
+ if (!logDir!!.exists()) {
+ logDir!!.mkdirs()
+ }
+ logFilePath = File(logDir, File(logFilePath).name).absolutePath
+ }
if (File(logFilePath).parentFile?.exists() == false) {
System.err.println("Error: Output directory '${File(logFilePath).parentFile}' does not exist.")
exitProcess(1)