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)