diff --git a/pkg/model/loglevel.go b/pkg/model/loglevel.go
new file mode 100644
index 0000000..c125c9b
--- /dev/null
+++ b/pkg/model/loglevel.go
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2019-present Ciena Corporation
+ *
+ * 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 model
+
+import (
+	"github.com/jhump/protoreflect/dynamic"
+)
+
+type LogLevel struct {
+	ComponentName string
+	PackageName   string
+	Level         string
+}
+
+func (logLevel *LogLevel) PopulateFrom(val *dynamic.Message) {
+	logLevel.ComponentName = val.GetFieldByName("component_name").(string)
+	logLevel.PackageName = val.GetFieldByName("package_name").(string)
+	logLevel.Level = GetEnumValue(val, "level") //val.GetFieldByName("level").(string)
+}
