summaryrefslogtreecommitdiff
path: root/clams-server/src/main/java
diff options
context:
space:
mode:
authorElias Haugsbakk <[email protected]>2026-07-25 15:09:44 +0200
committerElias Haugsbakk <[email protected]>2026-07-25 15:09:44 +0200
commit260ad2efa7c61bc1f6b04a528e67ace97d5d1d41 (patch)
tree808f5ec808e02c28733f2886aa68d3fffff1acf1 /clams-server/src/main/java
parent560b8ace9f75c90e229e81369102aa3b8ed4f9e1 (diff)
implement basic logging using SLF4J
Diffstat (limited to 'clams-server/src/main/java')
-rw-r--r--clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java6
-rw-r--r--clams-server/src/main/java/no/eliashaugsbakk/clams/server/config/AppConfig.java13
2 files changed, 12 insertions, 7 deletions
diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java
index 8f494ed..eba65f8 100644
--- a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java
+++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/Main.java
@@ -6,8 +6,11 @@ import io.javalin.rendering.template.JavalinPebble;
import java.util.Map;
import no.eliashaugsbakk.clams.server.config.AppContext;
import no.eliashaugsbakk.clams.server.config.AppRoutes;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class Main {
+ private static final Logger log = LoggerFactory.getLogger(Main.class);
void main() {
// Initialize dependencies
AppContext context = new AppContext();
@@ -37,7 +40,7 @@ public class Main {
)));
config.routes.exception(Exception.class, (e, ctx) -> {
- e.printStackTrace();
+ log.error("Unhandled error on {} {}", ctx.method(), ctx.path(), e);
ctx.status(500);
if (ctx.path().startsWith("/api")) {
@@ -55,6 +58,7 @@ public class Main {
} catch (Exception e) {
context.close();
+ log.error("Unexpected error", e);
throw e;
}
}
diff --git a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/config/AppConfig.java b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/config/AppConfig.java
index 05e92d2..4e5b50f 100644
--- a/clams-server/src/main/java/no/eliashaugsbakk/clams/server/config/AppConfig.java
+++ b/clams-server/src/main/java/no/eliashaugsbakk/clams/server/config/AppConfig.java
@@ -9,8 +9,11 @@ import java.nio.file.attribute.PosixFilePermissions;
import java.security.SecureRandom;
import java.util.Base64;
import java.util.Properties;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class AppConfig {
+ private static final Logger log = LoggerFactory.getLogger(AppConfig.class);
private final Properties properties = new Properties();
private Path configPath;
@@ -35,11 +38,11 @@ public class AppConfig {
Path storageDir = Path.of(getStorageLocation());
if (!Files.exists(storageDir)) {
Files.createDirectories(storageDir);
- System.out.println("Created application storage directory at: " + storageDir.toAbsolutePath());
+ log.info("Created application storage directory at: {}", storageDir.toAbsolutePath());
}
setOwnerOnlyPermissions(storageDir);
} catch (IOException e) {
- System.err.println("Warning: Could not verify or create storage directory: " + e.getMessage());
+ log.warn("Could not verify or create storage directory", e);
}
}
@@ -72,10 +75,10 @@ public class AppConfig {
""", token));
}
setOwnerOnlyPermissions(configPath);
- IO.println("Generated a default configuration file at: " + configPath);
+ log.info("Generated a default configuration file at: {}", configPath);
} catch (IOException e) {
- System.err.println("Could not create default config file: " + e.getMessage());
+ log.error("Could not create default config file", e);
}
}
@@ -86,8 +89,6 @@ public class AppConfig {
public String getAuthToken() {
String token = properties.getProperty("authorization_token");
if (token == null || token.isBlank()) {
- System.err.println("CRITICAL: 'authorization_token' is missing or empty in config properties!");
-
throw new IllegalStateException("CRITICAL: 'authorization_token' is missing or empty in config properties!");
}
return token;