diff --git a/services/backup/src/constants.rs b/services/backup/src/constants.rs
--- a/services/backup/src/constants.rs
+++ b/services/backup/src/constants.rs
@@ -43,3 +43,12 @@
     pub const ATTACHMENTS: &str = "attachments";
   }
 }
+
+// Error Types
+
+pub mod error_types {
+  pub const DDB_ERROR: &str = "DDB Error";
+  pub const AUTH_ERROR: &str = "Auth Error";
+  pub const BLOB_ERROR: &str = "Blob Error";
+  pub const WS_ERROR: &str = "WS Error";
+}
diff --git a/services/backup/src/database/mod.rs b/services/backup/src/database/mod.rs
--- a/services/backup/src/database/mod.rs
+++ b/services/backup/src/database/mod.rs
@@ -5,7 +5,9 @@
   backup_item::{BackupItem, OrderedBackupItem},
   log_item::LogItem,
 };
-use crate::constants::{backup_table, log_table, LOG_DEFAULT_PAGE_SIZE};
+use crate::constants::{
+  backup_table, error_types, log_table, LOG_DEFAULT_PAGE_SIZE,
+};
 use aws_sdk_dynamodb::{
   operation::get_item::GetItemOutput,
   types::{AttributeValue, DeleteRequest, ReturnValue, WriteRequest},
@@ -48,7 +50,10 @@
       .send()
       .await
       .map_err(|e| {
-        error!("DynamoDB client failed to put backup item");
+        error!(
+          errorType = error_types::DDB_ERROR,
+          "DynamoDB client failed to put backup item"
+        );
         Error::AwsSdk(e.into())
       })?;
 
@@ -70,7 +75,10 @@
       .send()
       .await
       .map_err(|e| {
-        error!("DynamoDB client failed to find backup item");
+        error!(
+          errorType = error_types::DDB_ERROR,
+          "DynamoDB client failed to find backup item"
+        );
         Error::AwsSdk(e.into())
       })?;
 
@@ -112,7 +120,10 @@
       .send()
       .await
       .map_err(|e| {
-        error!("DynamoDB client failed to remove backup item");
+        error!(
+          errorType = error_types::DDB_ERROR,
+          "DynamoDB client failed to remove backup item"
+        );
         Error::AwsSdk(e.into())
       })?;
 
@@ -191,7 +202,10 @@
       .send()
       .await
       .map_err(|e| {
-        error!("DynamoDB client failed to put log item");
+        error!(
+          errorType = error_types::DDB_ERROR,
+          "DynamoDB client failed to put log item"
+        );
         Error::AwsSdk(e.into())
       })?;
 
@@ -238,7 +252,10 @@
     }
 
     let response = query.send().await.map_err(|e| {
-      error!("DynamoDB client failed to fetch logs");
+      error!(
+        errorType = error_types::DDB_ERROR,
+        "DynamoDB client failed to fetch logs"
+      );
       Error::AwsSdk(e.into())
     })?;
 
@@ -346,7 +363,10 @@
       .send()
       .await
       .map_err(|e| {
-        error!("DynamoDB client failed to fetch backups");
+        error!(
+          errorType = error_types::DDB_ERROR,
+          "DynamoDB client failed to fetch backups"
+        );
         Error::AwsSdk(e.into())
       })?;
 
diff --git a/services/backup/src/error.rs b/services/backup/src/error.rs
--- a/services/backup/src/error.rs
+++ b/services/backup/src/error.rs
@@ -12,6 +12,8 @@
 use reqwest::StatusCode;
 use tracing::{error, trace, warn};
 
+use crate::constants::error_types;
+
 #[derive(
   Debug, derive_more::Display, derive_more::From, derive_more::Error,
 )]
@@ -49,11 +51,17 @@
       BackupError::BlobError(
         err @ (BlobServiceError::URLError(_) | BlobServiceError::NotFound),
       ) => {
-        error!("Unexpected blob error: {err}");
+        error!(
+          errorType = error_types::BLOB_ERROR,
+          "Unexpected blob error: {err}"
+        );
         ErrorInternalServerError("server error")
       }
       BackupError::AuthError(err) => {
-        error!("Unexpected auth error: {err}");
+        error!(
+          errorType = error_types::AUTH_ERROR,
+          "Unexpected auth error: {err}"
+        );
         ErrorInternalServerError("server error")
       }
       BackupError::DB(err) => match err {
@@ -66,7 +74,10 @@
           ErrorServiceUnavailable("please retry")
         }
         unexpected => {
-          error!("Received an unexpected DB error: {0:?} - {0}", unexpected);
+          error!(
+            errorType = error_types::DDB_ERROR,
+            "Received an unexpected DB error: {0:?} - {0}", unexpected
+          );
           ErrorInternalServerError("server error")
         }
       },
diff --git a/services/backup/src/http/handlers/log.rs b/services/backup/src/http/handlers/log.rs
--- a/services/backup/src/http/handlers/log.rs
+++ b/services/backup/src/http/handlers/log.rs
@@ -1,4 +1,4 @@
-use crate::constants::WS_FRAME_SIZE;
+use crate::constants::{error_types, WS_FRAME_SIZE};
 use crate::database::{log_item::LogItem, DatabaseClient};
 use actix::fut::ready;
 use actix::{Actor, ActorContext, ActorFutureExt, AsyncContext, StreamHandler};
@@ -109,7 +109,7 @@
         );
       }
       Err(err) => {
-        error!("Error: {err:?}");
+        error!(errorType = error_types::WS_ERROR, "Error: {err:?}");
 
         Self::spawn_response_future(
           ctx,
@@ -130,7 +130,7 @@
         let responses = match responses {
           Ok(responses) => responses,
           Err(err) => {
-            error!("Error: {err:?}");
+            error!(errorType = error_types::WS_ERROR, "Error: {err:?}");
             vec![LogWSResponse::ServerError]
           }
         };
@@ -140,6 +140,7 @@
             Ok(bytes) => ctx.binary(bytes),
             Err(error) => {
               error!(
+                errorType = error_types::WS_ERROR,
                 "Error serializing a response: {response:?}. Error: {error}"
               );
             }