diff --git a/pom.xml b/pom.xml
index 9a87f4d..3ea8e09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -96,6 +96,28 @@
maven-surefire-plugin
3.2.5
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.5.1
+
+
+ package
+
+ shade
+
+
+
+
+ com.mediamanager.MediaManagerApplication
+
+
+
+
+
+
diff --git a/src/main/java/com/mediamanager/MediaManagerApplication.java b/src/main/java/com/mediamanager/MediaManagerApplication.java
index 7150608..f4acc3c 100644
--- a/src/main/java/com/mediamanager/MediaManagerApplication.java
+++ b/src/main/java/com/mediamanager/MediaManagerApplication.java
@@ -32,19 +32,28 @@ public class MediaManagerApplication {
// Keep application running
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
+
logger.info("Shutting down MediaManager Core...");
+
+
if (databaseManager != null) {
databaseManager.close();
}
- // TODO: Cleanup resources
logger.info("MediaManager Core shutdown successfully");
+ logger.info("Goodbye!");
+
+
+ // Give Log4j2 time to write all pending messages before shutting down
try {
- Thread.sleep(500);
+ Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
+
+ // Now shutdown Log4j2
+ org.apache.logging.log4j.LogManager.shutdown();
}));
logger.info("Application is running");
logger.info("Press Ctrl+C to exit");
diff --git a/src/main/java/com/mediamanager/service/database/DatabaseManager.java b/src/main/java/com/mediamanager/service/database/DatabaseManager.java
index 0f43fa9..eeabc69 100644
--- a/src/main/java/com/mediamanager/service/database/DatabaseManager.java
+++ b/src/main/java/com/mediamanager/service/database/DatabaseManager.java
@@ -88,11 +88,14 @@ public class DatabaseManager {
public void close() {
if (connection != null) {
try {
+ logger.info("Closing database connection...");
connection.close();
logger.info("Database connection closed successfully");
} catch (SQLException e) {
- logger.error("Failed to close database connection", e);
+ logger.error("Error closing database connection: {}", e.getMessage());
}
+ } else {
+ logger.debug("No database connection to close");
}
}
}
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
index 29d32dc..39be1a8 100644
--- a/src/main/resources/log4j2.xml
+++ b/src/main/resources/log4j2.xml
@@ -1,12 +1,13 @@
-
+
-
+
+ filePattern="logs/mediamanager-%d{yyyy-MM-dd}-%i.log"
+ immediateFlush="true">