diff --git a/http/http_connection.hpp b/http/http_connection.hpp
index b169309..4b4310f 100644
--- a/http/http_connection.hpp
+++ b/http/http_connection.hpp
@@ -529,14 +529,22 @@
             [this,
              self(shared_from_this())](const boost::system::error_code& ec,
                                        std::size_t bytesTransferred) {
-                BMCWEB_LOG_ERROR << this << " async_read_header "
+                BMCWEB_LOG_DEBUG << this << " async_read_header "
                                  << bytesTransferred << " Bytes";
                 bool errorWhileReading = false;
                 if (ec)
                 {
                     errorWhileReading = true;
-                    BMCWEB_LOG_ERROR
-                        << this << " Error while reading: " << ec.message();
+                    if (ec == boost::asio::error::eof)
+                    {
+                        BMCWEB_LOG_WARNING
+                            << this << " Error while reading: " << ec.message();
+                    }
+                    else
+                    {
+                        BMCWEB_LOG_ERROR
+                            << this << " Error while reading: " << ec.message();
+                    }
                 }
                 else
                 {
diff --git a/include/authorization.hpp b/include/authorization.hpp
index 4869554..40a6119 100644
--- a/include/authorization.hpp
+++ b/include/authorization.hpp
@@ -285,7 +285,7 @@
     }
 #endif
     std::string_view authHeader = reqHeader["Authorization"];
-    BMCWEB_LOG_ERROR << "authHeader=" << authHeader;
+    BMCWEB_LOG_DEBUG << "authHeader=" << authHeader;
 
     if (sessionOut == nullptr && authMethodsConfig.sessionToken)
     {
