diff --git a/src/main.rs b/src/main.rs
index 4313c95..af80d3e 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,16 +1,15 @@
-use anyhow::{Context, Result};
+use anyhow::Result;
 use azure_identity::DefaultAzureCredential;
 use azure_security_keyvault::prelude::KeyVaultGetSecretsResponse;
 use azure_security_keyvault::KeyvaultClient;
 use clap::Parser;
 use futures::stream::StreamExt;
-use paris::Logger;
+use paris::{error, Logger};
 use std::fs::File;
 use std::io::Write;
 use std::sync::Arc;
 use tokio::sync::mpsc;
 use tokio::sync::Semaphore;
-// use paris::error;
 
 #[derive(Parser, Debug)]
 #[clap(author, version, about, long_about = None)]
@@ -36,7 +35,13 @@ async fn fetch_secrets_from_key_vault(
     let mut secret_pages = client.secret_client().list_secrets().into_stream();
 
     while let Some(page) = secret_pages.next().await {
-        let page = page.context("Failed to fetch secrets page")?;
+        let page = match page {
+            Ok(p) => p,
+            Err(err) => {
+                error!("Failed to fetch secrets page: {}", err);
+                return Err(err.into()); // Convert the error into anyhow::Error
+            }
+        };
         secret_values
             .extend(fetch_secrets_from_page(&client.secret_client(), &page, filter).await?);
     }
@@ -77,6 +82,8 @@ async fn fetch_secrets_from_page(
     for handle in handles {
         if let Ok(result) = handle.await {
             secrets.push(result);
+        } else {
+            error!("Error occurred while fetching a secret.");
         }
     }
 
@@ -99,20 +106,30 @@ async fn fetch_and_send_secret(
             (secret_id, bundle.value)
         }
         Err(err) => {
-            eprintln!("Error fetching secret: {}", err);
+            error!("Error fetching secret: {}", err);
             (secret_id, String::new())
         }
     }
 }
 
 fn create_env_file(secrets: Vec<(String, String)>, output_file: &str) -> Result<()> {
-    let mut file = File::create(output_file).context("Failed to create output file")?;
+    let mut file = match File::create(output_file) {
+        Ok(f) => f,
+        Err(err) => {
+            error!("Failed to create output file: {}", err);
+            return Err(err.into());
+        }
+    };
+
     for (key, value) in secrets {
         if let Some(secret_name) = key.split('/').last() {
-            writeln!(file, "{}={}", secret_name, value)
-                .with_context(|| format!("Failed to write to output file: {}", output_file))?;
+            if let Err(err) = writeln!(file, "{}={}", secret_name, value) {
+                error!("Failed to write to output file: {}: {}", output_file, err);
+                return Err(err.into());
+            }
         }
     }
+
     Ok(())
 }
 
@@ -155,8 +172,13 @@ async fn main() -> Result<()> {
 
     log.loading("Detecting credentials.");
     let credential = DefaultAzureCredential::default();
-    let client = KeyvaultClient::new(&vault_url, std::sync::Arc::new(credential))
-        .context("Failed to create KeyvaultClient")?;
+    let client = match KeyvaultClient::new(&vault_url, std::sync::Arc::new(credential)) {
+        Ok(c) => c,
+        Err(err) => {
+            error!("Failed to create KeyvaultClient: {}", err);
+            return Err(err.into());
+        }
+    };
     log.success("Detected credentials.");
 
     log.loading(format!(