From 9f67243d19469f74118d464988457ef8370ab0eb Mon Sep 17 00:00:00 2001
From: prajwalp <prajwalp@mkcl.org>
Date: Wed, 26 Mar 2025 14:22:10 +0530
Subject: [PATCH] improved logs of db packages

---
 dalmdl/coremongo/coremongo.go | 188 +++++++++++++++++-----------------
 dalmdl/mysql/mysql.go         |  85 +++++++--------
 dalmdl/sqlserver/sqlserver.go |  82 +++++++--------
 3 files changed, 179 insertions(+), 176 deletions(-)

diff --git a/dalmdl/coremongo/coremongo.go b/dalmdl/coremongo/coremongo.go
index 20817f2..69346f9 100644
--- a/dalmdl/coremongo/coremongo.go
+++ b/dalmdl/coremongo/coremongo.go
@@ -3,6 +3,7 @@ package coremongo
 import (
 	"context"
 	"encoding/json"
+	"fmt"
 	"strconv"
 	"strings"
 	"sync"
@@ -61,6 +62,7 @@ func InitUsingJSON(configs []MongoHost) error {
 		instances = make(map[string]*mongo.Client)
 		for _, hostDetails := range configs {
 			if hostDetails.IsDisabled {
+				loggermdl.LogError(fmt.Sprintf("Skipping disabled host while initializing: %s", hostDetails.HostName))
 				continue
 			}
 			clientOption := options.Client()
@@ -78,20 +80,20 @@ func InitUsingJSON(configs []MongoHost) error {
 			}
 			client, err := mongo.NewClient(clientOption)
 			if err != nil {
-				sessionError = err
+				sessionError = fmt.Errorf("Failed to create MongoDB client for host: %s | Error: %w", hostDetails.HostName, err)
 				loggermdl.LogError(sessionError)
 				return
 			}
 			err = client.Connect(context.Background())
 			if err != nil {
-				sessionError = err
+				sessionError = fmt.Errorf("Failed to connect to MongoDB server: %s | Error: %w", hostDetails.Server, err)
 				loggermdl.LogError(sessionError)
 				return
 			}
 			err = client.Ping(context.Background(), readpref.Primary())
 			if err != nil {
-				sessionError = err
-				loggermdl.LogError("failed to connect to primary - ", sessionError)
+				sessionError = fmt.Errorf("Failed to ping MongoDB server: %s | Error: %w", hostDetails.Server, err)
+				loggermdl.LogError(sessionError)
 				return
 			}
 			instances[hostDetails.HostName] = client
@@ -109,7 +111,7 @@ func DeleteSession(hostName string) error {
 	defer mutex.Unlock()
 	mutex.Lock()
 	if _, ok := instances[hostName]; !ok {
-		return errormdl.Wrap("NO_HOST_FOUND")
+		return errormdl.Wrap(fmt.Sprintf("Session not found for instance: %s", hostName))
 	}
 	delete(instances, hostName)
 	return nil
@@ -123,7 +125,7 @@ func InitNewSession(hostDetails MongoHost) error {
 		instances = make(map[string]*mongo.Client)
 	}
 	if _, ok := instances[hostDetails.HostName]; ok {
-		return errormdl.Wrap("DUPLICATE_HOSTNAME")
+		return errormdl.Wrap("Session already present for instance: " + hostDetails.HostName)
 	}
 	clientOption := options.Client()
 	clientOption.SetHosts([]string{bindMongoServerWithPort(hostDetails.Server, hostDetails.Port)}).
@@ -140,32 +142,32 @@ func InitNewSession(hostDetails MongoHost) error {
 	}
 	client, err := mongo.NewClient(clientOption)
 	if err != nil {
-		loggermdl.LogError(err)
-		return err
+		loggermdl.LogError(fmt.Sprintf("Failed to create MongoDB client for host: %s | Error: %v", hostDetails.HostName, err))
+		return errormdl.Wrap(fmt.Sprintf("Failed to create MongoDB client for host: %s | Error: %v", hostDetails.HostName, err))
 	}
 	err = client.Connect(context.Background())
 	if err != nil {
-		loggermdl.LogError(err)
-		return err
+		loggermdl.LogError(fmt.Sprintf("Failed to connect to MongoDB server: %s | Error: %v", hostDetails.Server, err))
+		return errormdl.Wrap(fmt.Sprintf("Failed to connect to MongoDB server: %s | Error: %v", hostDetails.Server, err))
 	}
 	instances[hostDetails.HostName] = client
 	return nil
 }
 
-//GetMongoConnection method
+// GetMongoConnection method
 func GetMongoConnection(hostName string) (*mongo.Client, error) {
 	mutex.Lock()
 	defer mutex.Unlock()
 	if instances == nil {
-		return nil, errormdl.Wrap("MONGO_INIT_NOT_DONE")
+		return nil, errormdl.Wrap("Mongo instances map is not initialized")
 	}
 	if hostName == "" {
 		if instance, ok := instances[defaultHost]; ok {
 			statemdl.MongoHits()
 			err := instance.Ping(context.Background(), readpref.Primary())
 			if err != nil {
-				loggermdl.LogError(err)
-				return nil, err
+				loggermdl.LogError(fmt.Sprintf("Failed to ping MongoDB server: %s | Error: %v", defaultHost, err))
+				return nil, errormdl.Wrap(fmt.Sprintf("Failed to ping MongoDB server: %s | Error: %v", defaultHost, err))
 			}
 			return instance, nil
 		}
@@ -174,12 +176,12 @@ func GetMongoConnection(hostName string) (*mongo.Client, error) {
 		statemdl.MongoHits()
 		err := instance.Ping(context.Background(), readpref.Primary())
 		if err != nil {
-			loggermdl.LogError(err)
-			return nil, err
+			loggermdl.LogError(fmt.Sprintf("Failed to ping MongoDB server: %s | Error: %v", hostName, err))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to ping MongoDB server: %s | Error: %v", hostName, err))
 		}
 		return instance, nil
 	}
-	return nil, errormdl.Wrap("Session not found for instance: " + hostName)
+	return nil, errormdl.Wrap(fmt.Sprintf("Session not found for instance: %s", hostName))
 }
 
 // MongoDAO mongo DAO struct
@@ -214,7 +216,7 @@ func GetMongoDAO(collection string) *MongoDAO {
 func (mg *MongoDAO) SaveData(data interface{}) (string, error) {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return "", errormdl.CheckErr(sessionError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -222,12 +224,12 @@ func (mg *MongoDAO) SaveData(data interface{}) (string, error) {
 	}
 	db, ok := config[mg.hostName]
 	if errormdl.CheckBool(!ok) {
-		return "", errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return "", errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	opts, insertError := collection.InsertOne(context.Background(), data)
 	if errormdl.CheckErr1(insertError) != nil {
-		return "", errormdl.CheckErr1(insertError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to insert data | Error: %v", insertError))
 	}
 	return getInsertedId(opts.InsertedID), nil
 }
@@ -236,7 +238,7 @@ func (mg *MongoDAO) SaveData(data interface{}) (string, error) {
 func (mg *MongoDAO) SaveBulkData(data []interface{}) (string, error) {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return "", errormdl.CheckErr(sessionError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -244,14 +246,14 @@ func (mg *MongoDAO) SaveBulkData(data []interface{}) (string, error) {
 	}
 	db, ok := config[mg.hostName]
 	if errormdl.CheckBool(!ok) {
-		return "", errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return "", errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	insertManyOptions := options.InsertMany()
 	if mg.MetaData.InsertManyOptions != nil {
 		marshaledQuery, err := json.Marshal(mg.MetaData.InsertManyOptions)
 		if err != nil {
-			return "", errormdl.Wrap("cannot marshal:query option")
+			return "", errormdl.Wrap(fmt.Sprintf("Failed to marshal data | Error: %v", err))
 		}
 		obj := gjson.ParseBytes(marshaledQuery)
 		if obj.Get("ordered").Value() != nil {
@@ -263,7 +265,7 @@ func (mg *MongoDAO) SaveBulkData(data []interface{}) (string, error) {
 	}
 	opts, insertManyError := collection.InsertMany(context.Background(), data, insertManyOptions)
 	if errormdl.CheckErr1(insertManyError) != nil {
-		return "", errormdl.CheckErr1(insertManyError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to insert data | Error: %v", insertManyError))
 	}
 	return getInsertedId(opts.InsertedIDs), nil
 }
@@ -272,7 +274,7 @@ func (mg *MongoDAO) SaveBulkData(data []interface{}) (string, error) {
 func (mg *MongoDAO) UpdateAll(selector map[string]interface{}, data interface{}) error {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -280,13 +282,13 @@ func (mg *MongoDAO) UpdateAll(selector map[string]interface{}, data interface{})
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 
 	_, updateError := collection.UpdateMany(context.Background(), selector, bson.M{"$set": data})
 	if errormdl.CheckErr1(updateError) != nil {
-		return errormdl.CheckErr1(updateError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to update data | Error: %v", updateError))
 	}
 	return nil
 }
@@ -295,7 +297,7 @@ func (mg *MongoDAO) UpdateAll(selector map[string]interface{}, data interface{})
 func (mg *MongoDAO) Update(selector map[string]interface{}, data interface{}) error {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -303,12 +305,12 @@ func (mg *MongoDAO) Update(selector map[string]interface{}, data interface{}) er
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	_, updateError := collection.UpdateOne(context.Background(), selector, bson.M{"$set": data})
 	if errormdl.CheckErr1(updateError) != nil {
-		return errormdl.CheckErr1(updateError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to update data | Error: %v", updateError))
 	}
 	return nil
 }
@@ -317,7 +319,7 @@ func (mg *MongoDAO) Update(selector map[string]interface{}, data interface{}) er
 func (mg *MongoDAO) GetData(selector map[string]interface{}) (*gjson.Result, error) {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return nil, errormdl.CheckErr(sessionError)
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -325,14 +327,14 @@ func (mg *MongoDAO) GetData(selector map[string]interface{}) (*gjson.Result, err
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return nil, errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return nil, errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 
 	cur, err := collection.Find(context.Background(), selector)
 	if err != nil {
-		loggermdl.LogError(err)
-		return nil, err
+		loggermdl.LogError(fmt.Sprintf("Failed to fetch data | Error: %v", err))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to fetch data | Error: %v", err))
 	}
 	defer cur.Close(context.Background())
 	var results []interface{}
@@ -340,14 +342,14 @@ func (mg *MongoDAO) GetData(selector map[string]interface{}) (*gjson.Result, err
 		var result bson.M
 		err := cur.Decode(&result)
 		if err != nil {
-			loggermdl.LogError(err)
-			return nil, err
+			loggermdl.LogError(fmt.Sprintf("Failed to decode data | Error: %v", err))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to decode data | Error: %v", err))
 		}
 		results = append(results, result)
 	}
 	ba, marshalError := json.Marshal(results)
 	if errormdl.CheckErr2(marshalError) != nil {
-		return nil, errormdl.CheckErr2(marshalError)
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to marshal data | Error: %v", marshalError))
 	}
 	rs := gjson.ParseBytes(ba)
 	return &rs, nil
@@ -357,7 +359,7 @@ func (mg *MongoDAO) GetData(selector map[string]interface{}) (*gjson.Result, err
 func (mg *MongoDAO) DeleteData(selector map[string]interface{}) error {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -365,12 +367,12 @@ func (mg *MongoDAO) DeleteData(selector map[string]interface{}) error {
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	_, deleteError := collection.DeleteOne(context.Background(), selector)
 	if errormdl.CheckErr1(deleteError) != nil {
-		return errormdl.CheckErr1(deleteError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to delete data | Error: %v", deleteError))
 	}
 	return deleteError
 }
@@ -379,7 +381,7 @@ func (mg *MongoDAO) DeleteData(selector map[string]interface{}) error {
 func (mg *MongoDAO) DeleteAll(selector map[string]interface{}) error {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -387,17 +389,17 @@ func (mg *MongoDAO) DeleteAll(selector map[string]interface{}) error {
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	_, deleteError := collection.DeleteMany(context.Background(), selector)
 	if errormdl.CheckErr1(deleteError) != nil {
-		return errormdl.CheckErr1(deleteError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to delete data | Error: %v", deleteError))
 	}
 	return deleteError
 }
 
-//Set Find Options
+// Set Find Options
 func (mg *MongoDAO) SetFindOps(findOps map[string]interface{}) {
 	mg.MetaData.Findops = findOps
 }
@@ -416,7 +418,7 @@ func (mg *MongoDAO) SetInsertManyOptions(insertManyOptions map[string]interface{
 func (mg *MongoDAO) GetProjectedData(selector map[string]interface{}, projector map[string]interface{}) (*gjson.Result, error) {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return nil, errormdl.CheckErr(sessionError)
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -424,14 +426,14 @@ func (mg *MongoDAO) GetProjectedData(selector map[string]interface{}, projector
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return nil, errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return nil, errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	ops := &options.FindOptions{}
 	if mg.MetaData.Findops != nil {
 		marshaledQuery, err := json.Marshal(mg.MetaData.Findops)
 		if err != nil {
-			return nil, errormdl.Wrap("cannot marshal:query option")
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to marshal data | Error: %v", err))
 		}
 		obj := gjson.ParseBytes(marshaledQuery)
 		loggermdl.LogError(obj)
@@ -457,8 +459,8 @@ func (mg *MongoDAO) GetProjectedData(selector map[string]interface{}, projector
 	ops.Projection = projector
 	cur, err := collection.Find(context.Background(), selector, ops)
 	if err != nil {
-		loggermdl.LogError(err)
-		return nil, err
+		loggermdl.LogError(fmt.Sprintf("Failed to fetch data | Error: %v", err))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to fetch data | Error: %v", err))
 	}
 	defer cur.Close(context.Background())
 	var results []interface{}
@@ -466,15 +468,15 @@ func (mg *MongoDAO) GetProjectedData(selector map[string]interface{}, projector
 		var result bson.M
 		err := cur.Decode(&result)
 		if err != nil {
-			loggermdl.LogError(err)
-			return nil, err
+			loggermdl.LogError(fmt.Sprintf("Failed to decode data | Error: %v", err))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to decode data | Error: %v", err))
 		}
 		results = append(results, result)
 	}
 
 	ba, marshalError := json.Marshal(results)
 	if errormdl.CheckErr2(marshalError) != nil {
-		return nil, errormdl.CheckErr2(marshalError)
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to marshal data | Error: %v", marshalError))
 	}
 	rs := gjson.ParseBytes(ba)
 	return &rs, nil
@@ -484,7 +486,7 @@ func (mg *MongoDAO) GetProjectedData(selector map[string]interface{}, projector
 func (mg *MongoDAO) GetAggregateData(selector interface{}) (*gjson.Result, error) {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return nil, errormdl.CheckErr(sessionError)
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -492,14 +494,14 @@ func (mg *MongoDAO) GetAggregateData(selector interface{}) (*gjson.Result, error
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return nil, errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return nil, errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	aggregateOpts := &options.AggregateOptions{}
 	if mg.MetaData.AggregateOptions != nil {
 		marshaledQuery, err := json.Marshal(mg.MetaData.AggregateOptions)
 		if err != nil {
-			return nil, errormdl.Wrap("cannot marshal:query option")
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to marshal data | Error: %v", err))
 		}
 		obj := gjson.ParseBytes(marshaledQuery)
 		loggermdl.LogError("Aggregate Options", obj)
@@ -524,8 +526,8 @@ func (mg *MongoDAO) GetAggregateData(selector interface{}) (*gjson.Result, error
 	}
 	cur, err := collection.Aggregate(context.Background(), selector, aggregateOpts)
 	if err != nil {
-		loggermdl.LogError(err)
-		return nil, err
+		loggermdl.LogError(fmt.Sprintf("Failed to fetch data | Error: %v", err))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to fetch data | Error: %v", err))
 	}
 	defer cur.Close(context.Background())
 	var results []interface{}
@@ -533,14 +535,14 @@ func (mg *MongoDAO) GetAggregateData(selector interface{}) (*gjson.Result, error
 		var result bson.M
 		err := cur.Decode(&result)
 		if err != nil {
-			loggermdl.LogError(err)
-			return nil, err
+			loggermdl.LogError(fmt.Sprintf("Failed to decode data | Error: %v", err))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to decode data | Error: %v", err))
 		}
 		results = append(results, result)
 	}
 	ba, marshalError := json.Marshal(results)
 	if errormdl.CheckErr2(marshalError) != nil {
-		return nil, errormdl.CheckErr2(marshalError)
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to marshal data | Error: %v", marshalError))
 	}
 	rs := gjson.ParseBytes(ba)
 	return &rs, nil
@@ -554,7 +556,7 @@ func (mg *MongoDAO) GetAggregateData(selector interface{}) (*gjson.Result, error
 func (mg *MongoDAO) UpsertWithID(selector map[string]interface{}, data interface{}) (string, error) {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return "", errormdl.CheckErr(sessionError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -562,14 +564,14 @@ func (mg *MongoDAO) UpsertWithID(selector map[string]interface{}, data interface
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return "", errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return "", errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	ops := options.UpdateOptions{}
 	ops.SetUpsert(true)
 	upsertRes, updateError := collection.UpdateOne(context.Background(), selector, bson.M{"$set": data}, &ops)
 	if errormdl.CheckErr1(updateError) != nil {
-		return "", errormdl.CheckErr1(updateError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to upsert data | Error: %v", updateError))
 	}
 	if upsertRes.UpsertedID != nil {
 		return getInsertedId(upsertRes.UpsertedID), nil
@@ -607,7 +609,7 @@ func (mg *MongoDAO) Upsert(selector map[string]interface{}, data interface{}) er
 func (mg *MongoDAO) PushData(selector map[string]interface{}, data interface{}) error {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -615,18 +617,18 @@ func (mg *MongoDAO) PushData(selector map[string]interface{}, data interface{})
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	_, updateError := collection.UpdateMany(context.Background(), selector, bson.M{"$push": data})
 	if errormdl.CheckErr1(updateError) != nil {
-		return errormdl.CheckErr1(updateError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to update data | Error: %v", updateError))
 	}
 
 	return nil
 }
 
-//set update option for custom update
+// set update option for custom update
 func (mg *MongoDAO) SetUpdateOps(updateOps map[string]interface{}) {
 	mg.MetaData.UpdateOps = updateOps
 }
@@ -635,7 +637,7 @@ func (mg *MongoDAO) SetUpdateOps(updateOps map[string]interface{}) {
 func (mg *MongoDAO) CustomUpdate(selector map[string]interface{}, data interface{}) error {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -643,13 +645,13 @@ func (mg *MongoDAO) CustomUpdate(selector map[string]interface{}, data interface
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	ops := options.UpdateOptions{}
 	if mg.MetaData.UpdateOps != nil {
 		resMarshal, err := json.Marshal(mg.MetaData.UpdateOps)
 		if err != nil {
-			return errormdl.Wrap("cannot marshal:update ops")
+			return errormdl.Wrap(fmt.Sprintf("Failed to marshal update options | Error: %v", err))
 		}
 		obj := gjson.ParseBytes(resMarshal)
 		if obj.Get("arrayFilter").Value() != nil {
@@ -665,7 +667,7 @@ func (mg *MongoDAO) CustomUpdate(selector map[string]interface{}, data interface
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	_, updateError := collection.UpdateMany(context.Background(), selector, data, &ops)
 	if errormdl.CheckErr1(updateError) != nil {
-		return errormdl.CheckErr1(updateError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to update data | Error: %v", updateError))
 	}
 	return nil
 }
@@ -674,7 +676,7 @@ func (mg *MongoDAO) CustomUpdate(selector map[string]interface{}, data interface
 func (mg *MongoDAO) CustomUpdateOne(selector map[string]interface{}, data interface{}) error {
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -682,12 +684,12 @@ func (mg *MongoDAO) CustomUpdateOne(selector map[string]interface{}, data interf
 	}
 	db, ok := config[mg.hostName]
 	if !ok {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	_, updateError := collection.UpdateOne(context.Background(), selector, data)
 	if errormdl.CheckErr1(updateError) != nil {
-		return errormdl.CheckErr1(updateError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to update data | Error: %v", updateError))
 	}
 	return nil
 }
@@ -701,7 +703,7 @@ func (mg *MongoDAO) BulkSaveData(data []interface{}) error {
 	}
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -709,7 +711,7 @@ func (mg *MongoDAO) BulkSaveData(data []interface{}) error {
 	}
 	db, ok := config[mg.hostName]
 	if errormdl.CheckBool(!ok) {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	opts := &options.BulkWriteOptions{}
@@ -722,8 +724,8 @@ func (mg *MongoDAO) BulkSaveData(data []interface{}) error {
 	}
 	_, insertError := collection.BulkWrite(context.Background(), models, opts)
 	if errormdl.CheckErr1(insertError) != nil {
-		loggermdl.LogError(insertError)
-		return errormdl.CheckErr1(insertError)
+		loggermdl.LogError(fmt.Sprintf("Failed to insert data | Error: %v", insertError))
+		return errormdl.Wrap(fmt.Sprintf("Failed to insert data | Error: %v", insertError))
 	}
 
 	return nil
@@ -737,7 +739,7 @@ func (mg *MongoDAO) BulkUpdateData(data []interface{}) error {
 	}
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -745,7 +747,7 @@ func (mg *MongoDAO) BulkUpdateData(data []interface{}) error {
 	}
 	db, ok := config[mg.hostName]
 	if errormdl.CheckBool(!ok) {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	opts := &options.BulkWriteOptions{}
@@ -761,8 +763,8 @@ func (mg *MongoDAO) BulkUpdateData(data []interface{}) error {
 
 	_, insertError := collection.BulkWrite(context.Background(), models, opts)
 	if errormdl.CheckErr1(insertError) != nil {
-		loggermdl.LogError(insertError)
-		return errormdl.CheckErr1(insertError)
+		loggermdl.LogError(fmt.Sprintf("Failed to update data | Error: %v", insertError))
+		return errormdl.Wrap(fmt.Sprintf("Failed to update data | Error: %v", insertError))
 	}
 	return nil
 }
@@ -775,7 +777,7 @@ func (mg *MongoDAO) BulkUpdate(data []interface{}) error {
 	}
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -783,7 +785,7 @@ func (mg *MongoDAO) BulkUpdate(data []interface{}) error {
 	}
 	db, ok := config[mg.hostName]
 	if errormdl.CheckBool(!ok) {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	opts := &options.BulkWriteOptions{}
@@ -799,8 +801,8 @@ func (mg *MongoDAO) BulkUpdate(data []interface{}) error {
 
 	_, insertError := collection.BulkWrite(context.Background(), models, opts)
 	if errormdl.CheckErr1(insertError) != nil {
-		loggermdl.LogError(insertError)
-		return errormdl.CheckErr1(insertError)
+		loggermdl.LogError(fmt.Sprintf("Failed to update data | Error: %v", insertError))
+		return errormdl.Wrap(fmt.Sprintf("Failed to update data | Error: %v", insertError))
 	}
 	return nil
 }
@@ -813,7 +815,7 @@ func (mg *MongoDAO) BulkDeleteData(data []interface{}) error {
 	}
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -821,7 +823,7 @@ func (mg *MongoDAO) BulkDeleteData(data []interface{}) error {
 	}
 	db, ok := config[mg.hostName]
 	if errormdl.CheckBool(!ok) {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	opts := &options.BulkWriteOptions{}
@@ -834,8 +836,8 @@ func (mg *MongoDAO) BulkDeleteData(data []interface{}) error {
 	}
 	_, insertError := collection.BulkWrite(context.Background(), models, opts)
 	if errormdl.CheckErr1(insertError) != nil {
-		loggermdl.LogError(insertError)
-		return errormdl.CheckErr1(insertError)
+		loggermdl.LogError(fmt.Sprintf("Failed to delete data | Error: %v", insertError))
+		return errormdl.Wrap(fmt.Sprintf("Failed to delete data | Error: %v", insertError))
 	}
 	return nil
 }
@@ -847,7 +849,7 @@ func (mg *MongoDAO) BulkUpsertData(data []interface{}) error {
 	}
 	session, sessionError := GetMongoConnection(mg.hostName)
 	if errormdl.CheckErr(sessionError) != nil {
-		return errormdl.CheckErr(sessionError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to get mongo connection | Error: %v", sessionError))
 	}
 
 	if mg.hostName == "" {
@@ -855,7 +857,7 @@ func (mg *MongoDAO) BulkUpsertData(data []interface{}) error {
 	}
 	db, ok := config[mg.hostName]
 	if errormdl.CheckBool(!ok) {
-		return errormdl.Wrap("No_Configuration_Found_For_Host: " + mg.hostName)
+		return errormdl.Wrap(fmt.Sprintf("No Configuration Found For Host: %s", mg.hostName))
 	}
 	collection := session.Database(db.Database).Collection(mg.collectionName)
 	opts := &options.BulkWriteOptions{}
@@ -873,7 +875,7 @@ func (mg *MongoDAO) BulkUpsertData(data []interface{}) error {
 	_, insertError := collection.BulkWrite(context.Background(), models, opts)
 	if errormdl.CheckErr1(insertError) != nil {
 		loggermdl.LogError(insertError)
-		return errormdl.CheckErr1(insertError)
+		return errormdl.Wrap(fmt.Sprintf("Failed to upsert data | Error: %v", insertError))
 	}
 	return nil
 }
diff --git a/dalmdl/mysql/mysql.go b/dalmdl/mysql/mysql.go
index 7e8b136..1a587ab 100644
--- a/dalmdl/mysql/mysql.go
+++ b/dalmdl/mysql/mysql.go
@@ -3,6 +3,7 @@ package mysql
 import (
 	"database/sql"
 	"database/sql/driver"
+	"fmt"
 	"strconv"
 	"strings"
 	"sync"
@@ -59,13 +60,13 @@ func InitUsingJSON(configs []MySQLConnection) error {
 			}
 			connection, err := InitConnection(connectionDetails)
 			if errormdl.CheckErr1(err) != nil {
-				loggermdl.LogError("Init dbr.Open Err : ", err)
+				loggermdl.LogError(err)
 				connectionError = err
 				return
 			}
 			pingError := connection.Ping()
 			if errormdl.CheckErr1(pingError) != nil {
-				loggermdl.LogError(pingError)
+				loggermdl.LogError(fmt.Sprintf("Failed to ping connection to %s | Error: %s", connectionDetails.HostName, pingError.Error()))
 				connectionError = pingError
 				return
 			}
@@ -116,8 +117,8 @@ func InitConnection(connectionDetails MySQLConnection) (*dbr.Connection, error)
 	conStr.WriteString(paramsString.String())
 	connection, err := dbr.Open("mysql", conStr.String(), nil)
 	if errormdl.CheckErr1(err) != nil {
-		loggermdl.LogError("Init dbr.Open Err : ", err)
-		return nil, err
+		loggermdl.LogError(fmt.Sprintf("Failed to open connection to %s | Error: %s", connectionDetails.HostName, err.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to open connection to %s | Error: %s", connectionDetails.HostName, err.Error()))
 	}
 	if connectionDetails.MaxIdleConns == 0 {
 		connectionDetails.MaxIdleConns = constantmdl.MAX_IDLE_CONNECTIONS // default is 2
@@ -149,8 +150,8 @@ func Init(tomlFilepath string, defaultHostName string) (map[string]*dbr.Connecti
 		sqlConnections = make(map[string]*dbr.Connection)
 		_, err := configmdl.InitConfig(tomlFilepath, &config)
 		if errormdl.CheckErr(err) != nil {
-			loggermdl.LogError("Init InitConfig Err : ", err)
-			connectionError = err
+			loggermdl.LogError(fmt.Sprintf("Failed to read config file %s | Error: %s", tomlFilepath, err.Error()))
+			connectionError = fmt.Errorf("Failed to read config file %s | Error: %s", tomlFilepath, err.Error())
 			return
 		}
 		for connectionName, connectionDetails := range config.MysqlHosts {
@@ -170,8 +171,8 @@ func Init(tomlFilepath string, defaultHostName string) (map[string]*dbr.Connecti
 
 			connection, err := dbr.Open("mysql", connectionDetails.Username+":"+connectionDetails.Password+"@"+connectionDetails.Protocol+"("+connectionDetails.Server+")/"+connectionDetails.Database+paramsString, nil)
 			if errormdl.CheckErr1(err) != nil {
-				loggermdl.LogError("Init dbr.Open Err : ", err)
-				connectionError = err
+				loggermdl.LogError(fmt.Sprintf("Failed to open connection to %s | Error: %s", connectionName, err.Error()))
+				connectionError = fmt.Errorf("Failed to open connection to %s | Error: %s", connectionName, err.Error())
 				return
 			}
 			if connectionDetails.MaxIdleConns == 0 {
@@ -196,8 +197,8 @@ func Init(tomlFilepath string, defaultHostName string) (map[string]*dbr.Connecti
 // GetMYSQLConnection -
 func GetMYSQLConnection(connectionName string) (*dbr.Connection, error) {
 	if errormdl.CheckBool(sqlConnections == nil) {
-		loggermdl.LogError("GetMYSQLConnection Err : ", errormdl.Wrap("MYSQL_INIT_NOT_DONE"))
-		return nil, errormdl.Wrap("MYSQL_INIT_NOT_DONE")
+		loggermdl.LogError(fmt.Sprintf("MYSQL connections map is not initialized"))
+		return nil, errormdl.Wrap("MYSQL connections map is not initialized")
 	}
 	if connectionName == "" {
 		if instance, keyExist := sqlConnections[defaultHost]; keyExist {
@@ -209,7 +210,7 @@ func GetMYSQLConnection(connectionName string) (*dbr.Connection, error) {
 		statemdl.MySQLHits()
 		return session, nil
 	}
-	loggermdl.LogError("GetMYSQLConnection Err : ", errormdl.Wrap("Connection not found for host: "+connectionName))
+	loggermdl.LogError(fmt.Sprintf("Connection not found for host: %s", connectionName))
 	return nil, errormdl.Wrap("Connection not found for host: " + connectionName)
 }
 
@@ -236,18 +237,18 @@ func GetMySQLDAOWithHost(host string) *MySQLDAO {
 func (md *MySQLDAO) ExecQuery(query string, args ...interface{}) (string, error) {
 	connection, connectionError := GetMYSQLConnection(md.hostName)
 	if errormdl.CheckErr(connectionError) != nil {
-		loggermdl.LogError("SaveUpdateOrDelete GetMYSQLConnection Err : ", connectionError)
-		return "", errormdl.CheckErr(connectionError)
+		loggermdl.LogError(fmt.Sprintf("Failed to get connection for host: %s | Error: %s", md.hostName, connectionError.Error()))
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get connection for host: %s | Error: %s", md.hostName, connectionError.Error()))
 	}
 	pingError := connection.Ping()
 	if errormdl.CheckErr(pingError) != nil && pingError != driver.ErrBadConn {
 		loggermdl.LogError(pingError)
-		return "", errormdl.CheckErr(pingError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to ping connection for host: %s | Error: %s", md.hostName, pingError.Error()))
 	}
 	result, execError := connection.Exec(query, args...)
 	if errormdl.CheckErr(execError) != nil {
 		loggermdl.LogError(execError)
-		return "", errormdl.CheckErr(execError)
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to execute query | Error: %s", execError.Error()))
 	}
 
 	_, affectError := result.RowsAffected()
@@ -257,8 +258,8 @@ func (md *MySQLDAO) ExecQuery(query string, args ...interface{}) (string, error)
 	}
 	ID, err := result.LastInsertId()
 	if errormdl.CheckErr(err) != nil {
-		loggermdl.LogError(err)
-		return "", errormdl.CheckErr(err)
+		loggermdl.LogError(fmt.Sprintf("Failed to get last inserted id | Error: %s", err.Error()))
+		return "", errormdl.CheckErr(fmt.Errorf("Failed to get last inserted id | Error: %s", err.Error()))
 	}
 	return strconv.Itoa(int(ID)), nil
 }
@@ -267,26 +268,26 @@ func (md *MySQLDAO) ExecQuery(query string, args ...interface{}) (string, error)
 func (md *MySQLDAO) SelectQuery(query string, args ...interface{}) (*gjson.Result, error) {
 	connection, connectionError := GetMYSQLConnection(md.hostName)
 	if errormdl.CheckErr(connectionError) != nil {
-		loggermdl.LogError("SaveUpdateOrDelete GetMYSQLConnection Err : ", connectionError)
-		return nil, errormdl.CheckErr(connectionError)
+		loggermdl.LogError(fmt.Sprintf("Failed to get connection for host: %s | Error: %s", md.hostName, connectionError.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get connection for host: %s | Error: %s", md.hostName, connectionError.Error()))
 	}
 
 	// loggermdl.LogSpot(connection)
 	pingError := connection.Ping()
 	if errormdl.CheckErr(pingError) != nil && pingError != driver.ErrBadConn {
-		loggermdl.LogError(pingError)
-		return nil, errormdl.CheckErr(pingError)
+		loggermdl.LogError(fmt.Sprintf("Failed to ping connection for host: %s | Error: %s", md.hostName, pingError.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to ping connection for host: %s | Error: %s", md.hostName, pingError.Error()))
 	}
 	rows, queryError := connection.Query(query, args...)
 	if errormdl.CheckErr(queryError) != nil {
 		loggermdl.LogError(queryError)
-		return nil, errormdl.CheckErr(queryError)
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to query | Error: %s", queryError.Error()))
 	}
 	defer rows.Close()
 	columns, err := rows.Columns()
 	if errormdl.CheckErr2(err) != nil {
-		loggermdl.LogError("GetAllData rows.Columns() Err : ", err)
-		return nil, errormdl.CheckErr2(err)
+		loggermdl.LogError(fmt.Sprintf("Failed to get columns | Error: %s", err.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get columns | Error: %s", err.Error()))
 	}
 	values := make([]interface{}, len(columns))
 	valuePtrs := make([]interface{}, len(columns))
@@ -298,13 +299,13 @@ func (md *MySQLDAO) SelectQuery(query string, args ...interface{}) (*gjson.Resul
 		rows.Scan(valuePtrs...)
 		data, err := sjsonhelpermdl.SetMultiple("", columns, values)
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set multiple sjson | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set multiple sjson | Error: %s", err.Error()))
 		}
 		tableData, err = sjson.Set(tableData, "-1", gjson.Parse(data).Value())
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set sjson | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set sjson | Error: %s", err.Error()))
 		}
 	}
 	resultSet := gjson.Parse(tableData)
@@ -316,18 +317,18 @@ func ExecTxQuery(query string, tx *sql.Tx, args ...interface{}) (string, error)
 
 	result, execError := tx.Exec(query, args...)
 	if errormdl.CheckErr(execError) != nil {
-		loggermdl.LogError(execError)
-		return "", errormdl.CheckErr(execError)
+		loggermdl.LogError(fmt.Sprintf("Failed to execute transactional query | Error: %s", execError.Error()))
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to execute transactional query | Error: %s", execError.Error()))
 	}
 	_, affectError := result.RowsAffected()
 	if errormdl.CheckErr(affectError) != nil {
-		loggermdl.LogError(affectError)
-		return "", errormdl.CheckErr(affectError)
+		loggermdl.LogError(fmt.Sprintf("Failed to get rows affected | Error: %s", affectError.Error()))
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get rows affected | Error: %s", affectError.Error()))
 	}
 	ID, err := result.LastInsertId()
 	if errormdl.CheckErr(err) != nil {
-		loggermdl.LogError(err)
-		return "", errormdl.CheckErr(err)
+		loggermdl.LogError(fmt.Sprintf("Failed to get last inserted id | Error: %s", err.Error()))
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get last inserted id | Error: %s", err.Error()))
 	}
 	return strconv.Itoa(int(ID)), nil
 }
@@ -336,14 +337,14 @@ func ExecTxQuery(query string, tx *sql.Tx, args ...interface{}) (string, error)
 func SelectTxQuery(query string, tx *sql.Tx, args ...interface{}) (*gjson.Result, error) {
 	rows, queryError := tx.Query(query, args...)
 	if errormdl.CheckErr(queryError) != nil {
-		loggermdl.LogError(queryError)
-		return nil, errormdl.CheckErr(queryError)
+		loggermdl.LogError(fmt.Sprintf("Failed to execute transactional query | Error: %s", queryError.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to execute transactional query | Error: %s", queryError.Error()))
 	}
 	defer rows.Close()
 	columns, err := rows.Columns()
 	if errormdl.CheckErr2(err) != nil {
-		loggermdl.LogError("GetAllData rows.Columns() Err : ", err)
-		return nil, errormdl.CheckErr2(err)
+		loggermdl.LogError(fmt.Sprintf("Failed to get columns | Error: %s", err.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get columns | Error: %s", err.Error()))
 	}
 	values := make([]interface{}, len(columns))
 	valuePtrs := make([]interface{}, len(columns))
@@ -355,13 +356,13 @@ func SelectTxQuery(query string, tx *sql.Tx, args ...interface{}) (*gjson.Result
 		rows.Scan(valuePtrs...)
 		data, err := sjsonhelpermdl.SetMultiple("", columns, values)
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set multiple sjson | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set multiple sjson | Error: %s", err.Error()))
 		}
 		tableData, err = sjson.Set(tableData, "-1", gjson.Parse(data).Value())
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set sjson | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set sjson | Error: %s", err.Error()))
 		}
 	}
 	resultSet := gjson.Parse(tableData)
diff --git a/dalmdl/sqlserver/sqlserver.go b/dalmdl/sqlserver/sqlserver.go
index cb8c8b4..98b8cd7 100644
--- a/dalmdl/sqlserver/sqlserver.go
+++ b/dalmdl/sqlserver/sqlserver.go
@@ -18,7 +18,7 @@ import (
 	"github.com/tidwall/sjson"
 )
 
-//SQLServerConfig
+// SQLServerConfig
 type SQLServerConfig struct {
 	HostName        string          `json:"hostName"`
 	Server          string          `json:"server"`
@@ -39,7 +39,7 @@ type SQLParameters struct {
 	Value string
 }
 
-//SQLServerDAO
+// SQLServerDAO
 type SQLServerDAO struct {
 	HostName string
 }
@@ -69,12 +69,12 @@ func InitUsingJSON(configs []SQLServerConfig) error {
 			// 	hostDetails.Server, hostDetails.Username, hostDetails.Password, hostDetails.Port, hostDetails.Database)
 			connString := genereateConnectionString(hostDetails)
 			var err error
-			loggermdl.LogError("connString: ", connString)
+			loggermdl.LogError("sql server connection string:", connString)
 			// Create connection pool
 			conn, err := sql.Open("mssql", connString)
 			if err != nil {
-				connectionErr = err
-				loggermdl.LogError("error while creating connection:", err)
+				connectionErr = fmt.Errorf("Failed to open connection to %s | Error: %s", hostDetails.HostName, err.Error())
+				loggermdl.LogError(connectionErr)
 				return
 			}
 
@@ -84,8 +84,8 @@ func InitUsingJSON(configs []SQLServerConfig) error {
 
 			err = conn.Ping()
 			if err != nil {
-				connectionErr = err
-				loggermdl.LogError("failed to connect:", err)
+				connectionErr = fmt.Errorf("Failed to ping connection to %s | Error: %s", hostDetails.HostName, err.Error())
+				loggermdl.LogError(connectionErr)
 				return
 			}
 
@@ -108,8 +108,8 @@ func InitConnection(connectionDetails SQLServerConfig) (*sql.DB, error) {
 	// Create connection pool
 	connection, err := sql.Open("mssql", connString)
 	if err != nil {
-		loggermdl.LogError("error while creating connection:", err)
-		return nil, err
+		loggermdl.LogError("Failed to open connection to %s | Error: %s", connectionDetails.HostName, err.Error())
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to open connection to %s | Error: %s", connectionDetails.HostName, err.Error()))
 	}
 
 	connection.SetConnMaxLifetime(connectionDetails.ConnMaxLifetime)
@@ -119,7 +119,7 @@ func InitConnection(connectionDetails SQLServerConfig) (*sql.DB, error) {
 	return connection, nil
 }
 
-//makeConnURL prepare the url for connection
+// makeConnURL prepare the url for connection
 func makeConnURL(config SQLServerConfig) *url.URL {
 	return &url.URL{
 		Scheme: "sqlserver",
@@ -128,14 +128,14 @@ func makeConnURL(config SQLServerConfig) *url.URL {
 	}
 }
 
-//GetSQLServerConnection returns connection by hostname
+// GetSQLServerConnection returns connection by hostname
 func GetSQLServerConnection(hostName string) (*sql.DB, error) {
 
 	mutex.Lock()
 	defer mutex.Unlock()
 
 	if sqlServerConnections == nil {
-		return nil, errormdl.Wrap("SQLSERVER_INIT_NOT_DONE")
+		return nil, errormdl.Wrap(fmt.Sprintf("SQLServer connections map is not initialized"))
 	}
 	if hostName == "" {
 		if connection, ok := sqlServerConnections[defaultHost]; ok {
@@ -148,14 +148,14 @@ func GetSQLServerConnection(hostName string) (*sql.DB, error) {
 	return nil, errormdl.Wrap("Connection not found for : " + hostName)
 }
 
-//GetSQLServerDAO  returns SQLServer DAO instance with default host
+// GetSQLServerDAO  returns SQLServer DAO instance with default host
 func GetSQLServerDAO() *SQLServerDAO {
 	return &SQLServerDAO{
 		HostName: defaultHost,
 	}
 }
 
-//GetSQLServerDAOWithHost returns SQLServer DAO instance with provided host
+// GetSQLServerDAOWithHost returns SQLServer DAO instance with provided host
 func GetSQLServerDAOWithHost(hostName string) *SQLServerDAO {
 	return &SQLServerDAO{
 		HostName: hostName,
@@ -166,26 +166,26 @@ func GetSQLServerDAOWithHost(hostName string) *SQLServerDAO {
 func (ss *SQLServerDAO) SelectQuery(query string, args ...interface{}) (*gjson.Result, error) {
 	connection, connectionError := GetSQLServerConnection(ss.HostName)
 	if errormdl.CheckErr(connectionError) != nil {
-		loggermdl.LogError("GetSqlServerConnection Err : ", connectionError)
-		return nil, errormdl.CheckErr(connectionError)
+		loggermdl.LogError(fmt.Sprintf("Failed to get connection for host: %s | Error: %s", ss.HostName, connectionError.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get connection for host: %s | Error: %s", ss.HostName, connectionError.Error()))
 	}
 
 	// loggermdl.LogSpot(connection)
 	pingError := connection.Ping()
 	if errormdl.CheckErr(pingError) != nil && pingError != driver.ErrBadConn {
-		loggermdl.LogError(pingError)
-		return nil, errormdl.CheckErr(pingError)
+		loggermdl.LogError(fmt.Sprintf("Failed to ping connection for host: %s | Error: %s", ss.HostName, pingError.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to ping connection for host: %s | Error: %s", ss.HostName, pingError.Error()))
 	}
 	rows, queryError := connection.Query(query, args...)
 	if errormdl.CheckErr(queryError) != nil {
-		loggermdl.LogError(queryError)
-		return nil, errormdl.CheckErr(queryError)
+		loggermdl.LogError(fmt.Sprintf("Failed to execute query: %s | Error: %s", query, queryError.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to execute query: %s | Error: %s", query, queryError.Error()))
 	}
 	defer rows.Close()
 	columns, err := rows.Columns()
 	if errormdl.CheckErr2(err) != nil {
-		loggermdl.LogError("GetAllData rows.Columns() Err : ", err)
-		return nil, errormdl.CheckErr2(err)
+		loggermdl.LogError(fmt.Sprintf("Failed to get columns for query: %s | Error: %s", query, err.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get columns for query: %s | Error: %s", query, err.Error()))
 	}
 	values := make([]interface{}, len(columns))
 	valuePtrs := make([]interface{}, len(columns))
@@ -197,13 +197,13 @@ func (ss *SQLServerDAO) SelectQuery(query string, args ...interface{}) (*gjson.R
 		rows.Scan(valuePtrs...)
 		data, err := sjsonhelpermdl.SetMultiple("", columns, values)
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
 		}
 		tableData, err = sjson.Set(tableData, "-1", gjson.Parse(data).Value())
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
 		}
 	}
 	resultSet := gjson.Parse(tableData)
@@ -214,14 +214,14 @@ func (ss *SQLServerDAO) SelectQuery(query string, args ...interface{}) (*gjson.R
 func SelectTxQuery(query string, tx *sql.Tx, args ...interface{}) (*gjson.Result, error) {
 	rows, queryError := tx.Query(query, args...)
 	if errormdl.CheckErr(queryError) != nil {
-		loggermdl.LogError(queryError)
-		return nil, errormdl.CheckErr(queryError)
+		loggermdl.LogError(fmt.Sprintf("Failed to execute trasactional query | Error: %s", queryError.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to execute trasactional query | Error: %s", queryError.Error()))
 	}
 	defer rows.Close()
 	columns, err := rows.Columns()
 	if errormdl.CheckErr2(err) != nil {
-		loggermdl.LogError("GetAllData rows.Columns() Err : ", err)
-		return nil, errormdl.CheckErr2(err)
+		loggermdl.LogError(fmt.Sprintf("Failed to get columns for query: %s | Error: %s", query, err.Error()))
+		return nil, errormdl.Wrap(fmt.Sprintf("Failed to get columns for query: %s | Error: %s", query, err.Error()))
 	}
 	values := make([]interface{}, len(columns))
 	valuePtrs := make([]interface{}, len(columns))
@@ -233,30 +233,30 @@ func SelectTxQuery(query string, tx *sql.Tx, args ...interface{}) (*gjson.Result
 		rows.Scan(valuePtrs...)
 		data, err := sjsonhelpermdl.SetMultiple("", columns, values)
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
 		}
 		tableData, err = sjson.Set(tableData, "-1", gjson.Parse(data).Value())
 		if errormdl.CheckErr3(err) != nil {
-			loggermdl.LogError("GetAllData sjson.Set Err : ", err)
-			return nil, errormdl.CheckErr3(err)
+			loggermdl.LogError(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
+			return nil, errormdl.Wrap(fmt.Sprintf("Failed to set data | Error: %s", err.Error()))
 		}
 	}
 	resultSet := gjson.Parse(tableData)
 	return &resultSet, nil
 }
 
-//ExecQuery to execute query
+// ExecQuery to execute query
 func (ss *SQLServerDAO) ExecQuery(query string, args ...interface{}) (string, error) {
 
 	conn, err := GetSQLServerConnection(ss.HostName)
 	if err != nil {
-		return "", err
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get connection for host: %s | Error: %s", ss.HostName, err.Error()))
 	}
 
 	result, err := conn.Exec(query, args...)
 	if err != nil {
-		return "", err
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to execute query | Error: %s", err.Error()))
 	}
 	_ = result
 
@@ -275,13 +275,13 @@ func ExecTxQuery(query string, tx *sql.Tx, args ...interface{}) (string, error)
 
 	result, execError := tx.Exec(query, args...)
 	if errormdl.CheckErr(execError) != nil {
-		loggermdl.LogError(execError)
-		return "", errormdl.CheckErr(execError)
+		loggermdl.LogError(fmt.Sprintf("Failed to execute query | Error: %s", execError.Error()))
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to execute query | Error: %s", execError.Error()))
 	}
 	_, affectError := result.RowsAffected()
 	if errormdl.CheckErr(affectError) != nil {
-		loggermdl.LogError(affectError)
-		return "", errormdl.CheckErr(affectError)
+		loggermdl.LogError(fmt.Sprintf("Failed to get affected rows | Error: %s", affectError.Error()))
+		return "", errormdl.Wrap(fmt.Sprintf("Failed to get affected rows | Error: %s", affectError.Error()))
 	}
 
 	//TODO: get last inserted id
-- 
GitLab