SEBA-766-Err-handling-for-exporter

Change-Id: I9b7b775ec8d2b335720b315d470ab83286bf0aa3
diff --git a/VERSION b/VERSION
index c9a5712..b4da54e 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.2-dev
+1.2.3-dev
diff --git a/topic-exporter.go b/topic-exporter.go
index 7e604b5..f4ae0bf 100644
--- a/topic-exporter.go
+++ b/topic-exporter.go
@@ -16,9 +16,8 @@
 
 import (
 	"encoding/json"
-	"log"
-	"github.com/prometheus/client_golang/prometheus"
 	"gerrit.opencord.org/kafka-topic-exporter/common/logger"
+	"github.com/prometheus/client_golang/prometheus"
 )
 
 var (
@@ -447,31 +446,31 @@
 		kpi := VolthaKPI{}
 		err := json.Unmarshal(data, &kpi)
 		if err != nil {
-			log.Fatal(err)
+			logger.Error("Invalid msg on voltha.kpis: %s, Unprocessed Msg: %s", err.Error(), string(data))
 		}
 		exportVolthaKPI(kpi)
 	case "onos.kpis":
 		kpi := OnosKPI{}
 		err := json.Unmarshal(data, &kpi)
 		if err != nil {
-			log.Fatal(err)
+			logger.Error("Invalid msg on onos.kpis: %s, Unprocessed Msg: %s", err.Error(), string(data))
 		}
 		exportOnosKPI(kpi)
 	case "importer.kpis":
 		kpi := ImporterKPI{}
 		err := json.Unmarshal(data, &kpi)
 		if err != nil {
-			log.Fatal(err)
+			logger.Error("Invalid msg on importer.kpis: %s, Unprocessed Msg: %s", err.Error(), string(data))
 		}
 		exportImporterKPI(kpi)
 	case "onos.aaa.stats.kpis":
 		kpi := OnosAaaKPI{}
 		err := json.Unmarshal(data, &kpi)
 		if err != nil {
-			log.Fatal(err)
+			logger.Error("Invalid msg on onos.aaa.stats.kpis: %s, Unprocessed Msg: %s", err.Error(), string(data))
 		}
 		exportOnosAaaKPI(kpi)
 	default:
-		logger.Warn("Unexpected export. Should not come here")
+		logger.Warn("Unexpected export. Topic [%s] not supported. Should not come here", *topic)
 	}
 }
diff --git a/topic-listener.go b/topic-listener.go
index 9b0f2dc..47003e8 100644
--- a/topic-listener.go
+++ b/topic-listener.go
@@ -28,8 +28,8 @@
 	defer wg.Done()
 	consumer, err := master.ConsumePartition(*topic, 0, sarama.OffsetOldest)
 	if err != nil {
-		logger.Error("topicListener panic")
-		panic(err)
+		logger.Error("topicListener panic, topic=[%s]: %s", *topic, err.Error())
+		return
 	}
 	signals := make(chan os.Signal, 1)
 	signal.Notify(signals, os.Interrupt)
@@ -38,9 +38,9 @@
 		for {
 			select {
 			case err := <-consumer.Errors():
-				logger.Error("%s", err)
+				logger.Error("Consumer error: %s", err.Err)
 			case msg := <-consumer.Messages():
-				logger.Debug("Message on %s: %s", *topic, string(msg.Value))
+				logger.Debug("Got message on topic=[%s]: %s", *topic, string(msg.Value))
 				export(topic, msg.Value)
 			case <-signals:
 				logger.Warn("Interrupt is detected")