VOL-4019: Initial commit with grpc nbi, sbi, etcd, kafka and hw management rpcs.
Change-Id: I78feaf7da284028fc61f42c5e0c5f56e72fe9e78
diff --git a/pkg/config/logger.go b/pkg/config/logger.go
new file mode 100644
index 0000000..d6f4ffa
--- /dev/null
+++ b/pkg/config/logger.go
@@ -0,0 +1,57 @@
+/*
+ * 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 config Common log initialization
+package config
+
+import (
+ log "github.com/opencord/voltha-lib-go/v4/pkg/log"
+)
+
+// logger represents the log object
+var logger log.CLogger
+
+// Initlog initialise log package
+func Initlog() log.CLogger {
+ if logger != nil {
+ return logger
+ }
+ // Setup this package so that it's log level can be modified at run time
+ var err error
+
+ coreFlags := NewCoreFlags()
+
+ var logLevel log.LogLevel
+
+ switch coreFlags.LogLevel {
+ case LogLevelDebug:
+ logLevel = log.DebugLevel
+ case LogLevelInfo:
+ logLevel = log.InfoLevel
+ case LogLevelWarn:
+ logLevel = log.WarnLevel
+ case LogLevelError:
+ logLevel = log.ErrorLevel
+ default:
+ logLevel = log.ErrorLevel
+ }
+
+ logger, err = log.RegisterPackage(log.JSON, logLevel, log.Fields{})
+ if err != nil {
+ panic(err)
+ }
+ return logger
+}