diff --git a/Cargo.lock b/Cargo.lock
index d4a0680df424b9b11f1397ddb09c1646ac9331e0..13431dbe62253590ca338ead88edfdff95159632 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1,6 +1,6 @@
 # This file is automatically @generated by Cargo.
 # It is not intended for manual editing.
-version = 3
+version = 4
 
 [[package]]
 name = "addr2line"
@@ -715,6 +715,29 @@ dependencies = [
  "syn",
 ]
 
+[[package]]
+name = "env_filter"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0"
+dependencies = [
+ "log",
+ "regex",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.11.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3716d7a920fb4fac5d84e9d4bce8ceb321e9414b4409da61b07b75c1e3d0697"
+dependencies = [
+ "anstream",
+ "anstyle",
+ "env_filter",
+ "jiff",
+ "log",
+]
+
 [[package]]
 name = "equivalent"
 version = "1.0.1"
@@ -1558,6 +1581,30 @@ dependencies = [
  "system-deps",
 ]
 
+[[package]]
+name = "jiff"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d699bc6dfc879fb1bf9bdff0d4c56f0884fc6f0d0eb0fba397a6d00cd9a6b85e"
+dependencies = [
+ "jiff-static",
+ "log",
+ "portable-atomic",
+ "portable-atomic-util",
+ "serde",
+]
+
+[[package]]
+name = "jiff-static"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d16e75759ee0aa64c57a56acbf43916987b20c77373cb7e808979e02b93c9f9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
 [[package]]
 name = "js-sys"
 version = "0.3.69"
@@ -1605,6 +1652,7 @@ name = "kiosk-launcher"
 version = "0.0.0"
 dependencies = [
  "anyhow",
+ "env_logger",
  "glib",
  "glib-build-tools",
  "gtk4",
@@ -2170,6 +2218,21 @@ dependencies = [
  "windows-sys 0.52.0",
 ]
 
+[[package]]
+name = "portable-atomic"
+version = "1.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "350e9b48cbc6b0e028b0473b114454c6316e57336ee184ceab6e53f72c178b3e"
+
+[[package]]
+name = "portable-atomic-util"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d8a2f0d8d040d7848a709caf78912debcc3f33ee4b3cac47d73d1e1069e83507"
+dependencies = [
+ "portable-atomic",
+]
+
 [[package]]
 name = "ppv-lite86"
 version = "0.2.17"
@@ -2187,9 +2250,9 @@ dependencies = [
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.85"
+version = "1.0.94"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23"
+checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
 dependencies = [
  "unicode-ident",
 ]
@@ -2239,9 +2302,9 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.36"
+version = "1.0.40"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
+checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d"
 dependencies = [
  "proc-macro2",
 ]
@@ -2776,9 +2839,9 @@ checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5"
 
 [[package]]
 name = "syn"
-version = "2.0.66"
+version = "2.0.100"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5"
+checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/crates/launcher/Cargo.toml b/crates/launcher/Cargo.toml
index 0ed47097ccdd0758cdd85b399fc1619f0c12acc2..eddb40ffb377a1e248f5bab0e341a44e65011887 100644
--- a/crates/launcher/Cargo.toml
+++ b/crates/launcher/Cargo.toml
@@ -6,6 +6,7 @@ edition.workspace = true
 [dependencies]
 adw = { version = "0.6.0", package = "libadwaita", features = ["v1_4"] }
 anyhow = "1.0.82"
+env_logger = "0.11.7"
 glib = { version = "0.19.5", features = ["log", "v2_68"] }
 gtk = { version = "0.8.2", package = "gtk4", features = ["v4_12", "blueprint"] }
 gtk4-layer-shell = "0.3.0"
diff --git a/crates/launcher/src/main.rs b/crates/launcher/src/main.rs
index 93e46189f34ddc43efed7fc9a99818373ccdaad5..7e82bfe184300f1aec7ea8e2a7d820158af43e15 100644
--- a/crates/launcher/src/main.rs
+++ b/crates/launcher/src/main.rs
@@ -2,7 +2,7 @@ use std::env;
 
 use adw::gio;
 use adw::prelude::*;
-use glib::{GlibLogger, GlibLoggerDomain, GlibLoggerFormat};
+use env_logger::Env;
 use gtk::glib;
 use log::LevelFilter;
 
@@ -21,10 +21,12 @@ const APP_ID: &str = "de.h_da.fbi.kiosk-launcher";
 
 #[tokio::main]
 async fn main() -> glib::ExitCode {
-    static GLIB_LOGGER: GlibLogger = GlibLogger::new(GlibLoggerFormat::Plain, GlibLoggerDomain::CrateTarget);
+    glib::log_set_default_handler(glib::rust_log_handler);
 
-    log::set_logger(&GLIB_LOGGER).expect("Failed to set up the logger");
-    log::set_max_level(LevelFilter::Trace);
+    env_logger::Builder::new()
+        .filter_level(LevelFilter::Info)
+        .parse_env(Env::default())
+        .init();
 
     gio::resources_register_include!("kiosk-launcher.gresource").expect("Failed to register resources.");