diff --git a/protos/voltha_protos/adapter.proto b/protos/voltha_protos/adapter.proto
index 6cb2346..5f0a60b 100644
--- a/protos/voltha_protos/adapter.proto
+++ b/protos/voltha_protos/adapter.proto
@@ -14,10 +14,6 @@
 
 message AdapterConfig {
 
-    // Common adapter config attributes here
-    common.LogLevel.Types log_level = 1;
-
-
     // Custom (vendor-specific) configuration attributes
     google.protobuf.Any additional_config = 64;
 
diff --git a/protos/voltha_protos/afrouter.proto b/protos/voltha_protos/afrouter.proto
index 97ecec0..14f07ed 100644
--- a/protos/voltha_protos/afrouter.proto
+++ b/protos/voltha_protos/afrouter.proto
@@ -14,8 +14,6 @@
    	rpc SetConnection (Conn) returns (Result) {}
 	rpc SetAffinity(Affinity) returns (Result) {}
 	rpc GetGoroutineCount(Empty) returns (Count) {}
-	rpc UpdateLogLevel(common.Logging) returns (Empty) {}
-	rpc GetLogLevels(common.LoggingComponent) returns (common.Loggings) {}
 }
 
 message Result {
diff --git a/protos/voltha_protos/common.proto b/protos/voltha_protos/common.proto
index b6a2000..6ca156c 100644
--- a/protos/voltha_protos/common.proto
+++ b/protos/voltha_protos/common.proto
@@ -20,34 +20,6 @@
     api_test=0;
 }
 
-message LogLevel {
-    // Logging verbosity level
-    enum Types {
-        DEBUG = 0;
-        INFO = 1;
-        WARNING = 2;
-        ERROR = 3;
-        CRITICAL = 4;
-        FATAL = 5;
-    }
-}
-
-message Logging {
-    common.LogLevel.Types level = 1;
-    string package_name = 2;
-    string component_name = 3;
-}
-
-// For GetLogLevels(), select component to query
-message LoggingComponent {
-    string component_name = 1;
-}
-
-// For returning multiple log levels
-message Loggings {
-	repeated Logging items = 1;
-}
-
 message AdminState {
     // Administrative State
     enum Types {
@@ -123,4 +95,4 @@
 
     // Additional Info
     string additional_info = 2;
-}
\ No newline at end of file
+}
diff --git a/protos/voltha_protos/voltha.proto b/protos/voltha_protos/voltha.proto
index e68b73c..8fcbb43 100644
--- a/protos/voltha_protos/voltha.proto
+++ b/protos/voltha_protos/voltha.proto
@@ -153,20 +153,6 @@
  */
 service VolthaService {
 
-    // Get more information on a given physical device
-    rpc UpdateLogLevel(common.Logging) returns(google.protobuf.Empty) {
-        option (google.api.http) = {
-            post: "/api/v1/logs"
-            body: "*"
-        };
-    }
-
-    rpc GetLogLevels(common.LoggingComponent) returns (common.Loggings) {
-        option (google.api.http) = {
-            get: "/api/v1/logs"
-        };
-    }
-
     // Get the membership group of a Voltha Core
     rpc GetMembership(google.protobuf.Empty) returns(Membership) {
         option (google.api.http) = {
