diff --git a/warden3/warden_client/warden_client.py b/warden3/warden_client/warden_client.py
index 39e52ce11b32571ab3d7ecc76faba9e7c1d03950..531e1c1b3b141fdea9f57d3acd230ff818eaeef4 100644
--- a/warden3/warden_client/warden_client.py
+++ b/warden3/warden_client/warden_client.py
@@ -57,7 +57,7 @@ class Error(Exception):
         Also, it can be raised as an exception.
     """
 
-    def __init__(self, message, logger=None, error=None, method=None,
+    def __init__(self, message, logger=None, error=None, prio="error", method=None,
             detail=None, exc=None):
 
         self.error = error
@@ -67,7 +67,7 @@ class Error(Exception):
         (self.exctype, self.excval, self.exctb) = exc or exc_info()
         self.cause = self.excval # compatibility with other exceptions
         if logger:
-            logger.error(str(self))
+            getattr(logger, prio, "error")(str(self))
             logger.info(self.info_str())
             logger.debug(self.debug_str())
 
@@ -334,7 +334,7 @@ class Client(object):
                 f.write(str(id))
         except (ValueError, IOError) as e:
             # Use Error instance just for proper logging
-            Error("Writing id file \"%s\" failed" % idf, self.logger, detail={"idstore": idf})
+            Error("Writing id file \"%s\" failed" % idf, self.logger, prio="info", detail={"idstore": idf})
         return id
 
 
@@ -346,7 +346,7 @@ class Client(object):
             with open(idf, "r") as f:
                 id = int(f.read())
         except (ValueError, IOError) as e:
-            Error("Reading id file \"%s\" failed, relying on server" % idf, self.logger, detail={"idstore": idf})
+            Error("Reading id file \"%s\" failed, relying on server" % idf, self.logger, prio="info", detail={"idstore": idf})
             id = None
         return id