diff --git a/storageaddsel.cpp b/storageaddsel.cpp
index 2b41d56..c662502 100644
--- a/storageaddsel.cpp
+++ b/storageaddsel.cpp
@@ -94,20 +94,21 @@
 
 		r = fseek(fp, 0, SEEK_END);
 		if (r) {
-			fprintf(stderr,"Fseek failed\n");
+			log<level::ERR>("Fseek failed");
 			goto fclose_fp;
 		}
 
 		size = ftell(fp);
 		if (size == -1L) {
-			fprintf(stderr,"Ftell failed for %s\n", strerror(errno));
+			log<level::ERR>("Ftell failed",
+							entry("ERROR=%s", strerror(errno)));
 			size = 0;
 			goto fclose_fp;
 		}
 
 		r = fseek(fp, 0, SEEK_SET);
 		if (r) {
-			fprintf(stderr,"Fseek failed\n");
+			log<level::ERR>("Fseek failed");
 			size = 0;
 			goto fclose_fp;
 		}
@@ -117,7 +118,7 @@
 		r = fread(*buffer, 1, size, fp);
 		if ( r != size) {
 			size = 0;
-			fprintf(stderr,"Fread failed\n");
+			log<level::ERR>("Fread failed\n");
 		}
 
 fclose_fp:
@@ -181,8 +182,7 @@
 	r = asprintf(message, "A %s has experienced an error of level %d",
                      m, static_cast<uint32_t>(level) );
 	if (r == -1) {
-		fprintf(stderr,
-			"Failed to allocate memory for ESEL description\n");
+		log<level::ERR>("Failed to allocate memory for ESEL description");
 	}
 
 	free(m);
@@ -229,7 +229,8 @@
 
 	sz = getfilestream(path, &buffer);
 	if (sz == 0) {
-		printf("Error file does not exist %d\n",__LINE__);
+		log<level::ERR>("Error file does not exist",
+						entry("FILENAME=%s", path));
 		return;
 	}
 
@@ -239,7 +240,7 @@
 
 	r = send_esel_to_dbus(desc, sev, inventoryPath, buffer, sz);
 	if (r < 0) {
-		fprintf(stderr, "Failed to send esel to dbus\n");
+		log<level::ERR>("Failed to send esel to dbus");
 	}
 
 	free(desc);
