diff --git a/internal/pkg/openflow/barrier.go b/internal/pkg/openflow/barrier.go
index f371cc8..3db9e84 100644
--- a/internal/pkg/openflow/barrier.go
+++ b/internal/pkg/openflow/barrier.go
@@ -35,6 +35,6 @@
 	reply.SetVersion(4)
 	reply.SetXid(request.GetXid())
 	if err := ofc.SendMessage(reply); err != nil {
-		log.Errorw("barrier-request-send-message", log.Fields{"error": err})
+		logger.Errorw("barrier-request-send-message", log.Fields{"error": err})
 	}
 }
diff --git a/internal/pkg/openflow/client.go b/internal/pkg/openflow/client.go
index f43bb11..94ad645 100644
--- a/internal/pkg/openflow/client.go
+++ b/internal/pkg/openflow/client.go
@@ -31,7 +31,6 @@
 	"time"
 )
 
-var logger, _ = log.AddPackage(log.JSON, log.DebugLevel, nil)
 var NoVolthaConnectionError = errors.New("no-voltha-connection")
 
 type ofcEvent byte
@@ -246,7 +245,7 @@
 					}
 					go func() {
 						if err := ofc.establishConnectionToController(); err != nil {
-							log.Errorw("controller-connection-failed", log.Fields{"error": err})
+							logger.Errorw("controller-connection-failed", log.Fields{"error": err})
 							panic(err)
 						}
 					}()
@@ -282,19 +281,19 @@
 
 	// If the child context exists, then cancel it
 	if ofDone != nil {
-		log.Debugw("closing-child-processes",
+		logger.Debugw("closing-child-processes",
 			log.Fields{"device-id": ofc.DeviceID})
 		ofDone()
 	}
 
 	// If the connection is open, then close it
 	if ofc.conn != nil {
-		log.Debugw("closing-of-connection",
+		logger.Debugw("closing-of-connection",
 			log.Fields{"device-id": ofc.DeviceID})
 		ofc.conn.Close()
 		ofc.conn = nil
 	}
-	log.Debugw("state-machine-finished",
+	logger.Debugw("state-machine-finished",
 		log.Fields{"device-id": ofc.DeviceID})
 }
 
diff --git a/internal/pkg/openflow/common.go b/internal/pkg/openflow/common.go
new file mode 100644
index 0000000..f737ad6
--- /dev/null
+++ b/internal/pkg/openflow/common.go
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2020-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+// Package openflow Common Logger initialization
+package openflow
+
+import (
+	"github.com/opencord/voltha-lib-go/v3/pkg/log"
+)
+
+var logger log.Logger
+
+func init() {
+	// Setup this package so that it's log level can be modified at run time
+	var err error
+	logger, err = log.AddPackage(log.JSON, log.ErrorLevel, log.Fields{"pkg": "openflow"})
+	if err != nil {
+		panic(err)
+	}
+}
diff --git a/internal/pkg/openflow/echo.go b/internal/pkg/openflow/echo.go
index 74f2dc8..af850a4 100644
--- a/internal/pkg/openflow/echo.go
+++ b/internal/pkg/openflow/echo.go
@@ -34,6 +34,6 @@
 	reply.SetXid(request.GetXid())
 	reply.SetVersion(request.GetVersion())
 	if err := ofc.SendMessage(reply); err != nil {
-		log.Errorw("handle-echo-request-send-message", log.Fields{"error": err})
+		logger.Errorw("handle-echo-request-send-message", log.Fields{"error": err})
 	}
 }
diff --git a/internal/pkg/openflow/getConfig.go b/internal/pkg/openflow/getConfig.go
index da5c473..19efdf4 100644
--- a/internal/pkg/openflow/getConfig.go
+++ b/internal/pkg/openflow/getConfig.go
@@ -42,6 +42,6 @@
 				"reply":     js})
 	}
 	if err := ofc.SendMessage(reply); err != nil {
-		log.Errorw("handle-get-config-request-send-message", log.Fields{"error": err})
+		logger.Errorw("handle-get-config-request-send-message", log.Fields{"error": err})
 	}
 }
