diff --git a/Cargo.toml b/Cargo.toml
index 4bea9b23..cc1b8054 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -51,6 +51,9 @@ test_kernel_higher_half = { path = "tests/test_kernels/higher_half", artifact =
 test_kernel_map_phys_mem = { path = "tests/test_kernels/map_phys_mem", artifact = "bin", target = "x86_64-unknown-none" }
 test_kernel_pie = { path = "tests/test_kernels/pie", artifact = "bin", target = "x86_64-unknown-none" }
 
+[features]
+quiet = []
+
 [profile.dev]
 panic = "abort"
 
diff --git a/common/src/lib.rs b/common/src/lib.rs
index 4a204972..62a779b1 100644
--- a/common/src/lib.rs
+++ b/common/src/lib.rs
@@ -38,7 +38,11 @@ const PAGE_SIZE: u64 = 4096;
 pub fn init_logger(framebuffer: &'static mut [u8], info: FrameBufferInfo) {
     let logger = logger::LOGGER.get_or_init(move || logger::LockedLogger::new(framebuffer, info));
     log::set_logger(logger).expect("logger already set");
-    log::set_max_level(log::LevelFilter::Trace);
+    if cfg!(quiet) {
+        log::set_max_level(log::LevelFilter::Error);
+    } else {
+        log::set_max_level(log::LevelFilter::Trace);
+    }
     log::info!("Framebuffer info: {:?}", info);
 }