diff options
author | Kiran Kamineni <kiran.k.kamineni@intel.com> | 2019-11-08 13:01:22 -0800 |
---|---|---|
committer | Kiran Kamineni <kiran.k.kamineni@intel.com> | 2019-11-08 13:17:13 -0800 |
commit | d345d6ed10245a042c2cda50b1cf8c90bf366b4b (patch) | |
tree | f29a5fe0ac3ebf974c37f10d2474fbdbcfa81aa7 /src/k8splugin/internal | |
parent | e3af69fe78abcbb88380ce5d557d93ebd2700ffd (diff) |
Update logutils to support multiple fields
Added support for multiple fields and updated
instancehandler and app/client.go to use the new functions
Issue-ID: MULTICLOUD-577
Change-Id: I7cc04f67e72448aa121d10cfd80d66d544981933
Signed-off-by: Kiran Kamineni <kiran.k.kamineni@intel.com>
Diffstat (limited to 'src/k8splugin/internal')
-rw-r--r-- | src/k8splugin/internal/app/client.go | 39 | ||||
-rw-r--r-- | src/k8splugin/internal/logutils/logger.go | 17 |
2 files changed, 44 insertions, 12 deletions
diff --git a/src/k8splugin/internal/app/client.go b/src/k8splugin/internal/app/client.go index b75c7dfd..78477a82 100644 --- a/src/k8splugin/internal/app/client.go +++ b/src/k8splugin/internal/app/client.go @@ -14,13 +14,12 @@ limitations under the License. package app import ( - "log" "os" "time" "github.com/onap/multicloud-k8s/src/k8splugin/internal/connection" "github.com/onap/multicloud-k8s/src/k8splugin/internal/helm" - logutils "github.com/onap/multicloud-k8s/src/k8splugin/internal/logutils" + log "github.com/onap/multicloud-k8s/src/k8splugin/internal/logutils" "github.com/onap/multicloud-k8s/src/k8splugin/internal/plugin" pkgerrors "github.com/pkg/errors" @@ -118,16 +117,24 @@ func (k *KubernetesClient) ensureNamespace(namespace string) error { }, namespace, k) if err != nil { - logutils.WithFields(err.Error(), "namespace", namespace) + log.Error("Error checking for namespace", log.Fields{ + "error": err, + "namespace": namespace, + }) return pkgerrors.Wrap(err, "Error checking for namespace: "+namespace) } if ns == "" { - logutils.WithFields("Creating namespace", "namespace", namespace) + log.Info("Creating Namespace", log.Fields{ + "namespace": namespace, + }) _, err = pluginImpl.Create("", namespace, k) if err != nil { - logutils.WithFields(err.Error(), "namespace", namespace) + log.Error("Error Creating Namespace", log.Fields{ + "error": err, + "namespace": namespace, + }) return pkgerrors.Wrap(err, "Error creating "+namespace+" namespace") } } @@ -141,7 +148,9 @@ func (k *KubernetesClient) createKind(resTempl helm.KubernetesResourceTemplate, return helm.KubernetesResource{}, pkgerrors.New("File " + resTempl.FilePath + "does not exists") } - log.Println("Processing file: " + resTempl.FilePath) + log.Info("Processing Kubernetes Resource", log.Fields{ + "filepath": resTempl.FilePath, + }) pluginImpl, err := plugin.GetPluginByKind(resTempl.GVK.Kind) if err != nil { @@ -150,11 +159,19 @@ func (k *KubernetesClient) createKind(resTempl helm.KubernetesResourceTemplate, createdResourceName, err := pluginImpl.Create(resTempl.FilePath, namespace, k) if err != nil { - log.Printf("Error: %s while creating: %s", err.Error(), resTempl.GVK.Kind) + log.Error("Error Creating Resource", log.Fields{ + "error": err, + "gvk": resTempl.GVK, + "filepath": resTempl.FilePath, + }) return helm.KubernetesResource{}, pkgerrors.Wrap(err, "Error in plugin "+resTempl.GVK.Kind+" plugin") } - log.Print(createdResourceName + " created") + log.Info("Created Kubernetes Resource", log.Fields{ + "resource": createdResourceName, + "gvk": resTempl.GVK, + }) + return helm.KubernetesResource{ GVK: resTempl.GVK, Name: createdResourceName, @@ -182,14 +199,16 @@ func (k *KubernetesClient) createResources(sortedTemplates []helm.KubernetesReso } func (k *KubernetesClient) deleteKind(resource helm.KubernetesResource, namespace string) error { - log.Println("Deleting Kind: " + resource.GVK.Kind) + log.Warn("Deleting Resource", log.Fields{ + "gvk": resource.GVK, + "resource": resource.Name, + }) pluginImpl, err := plugin.GetPluginByKind(resource.GVK.Kind) if err != nil { return pkgerrors.Wrap(err, "Error loading plugin") } - log.Println("Deleting resource: " + resource.Name) err = pluginImpl.Delete(resource, namespace, k) if err != nil { return pkgerrors.Wrap(err, "Error deleting "+resource.Name) diff --git a/src/k8splugin/internal/logutils/logger.go b/src/k8splugin/internal/logutils/logger.go index 7df23474..2e8f9969 100644 --- a/src/k8splugin/internal/logutils/logger.go +++ b/src/k8splugin/internal/logutils/logger.go @@ -4,12 +4,25 @@ import ( log "github.com/sirupsen/logrus" ) +//Fields is type that will be used by the calling function +type Fields map[string]interface{} + func init() { // Log as JSON instead of the default ASCII formatter. log.SetFormatter(&log.JSONFormatter{}) } -func WithFields(msg string, fkey string, fvalue string) { - log.WithFields(log.Fields{fkey: fvalue}).Error(msg) +// Error uses the fields provided and logs +func Error(msg string, fields Fields) { + log.WithFields(log.Fields(fields)).Error(msg) +} + +// Warn uses the fields provided and logs +func Warn(msg string, fields Fields) { + log.WithFields(log.Fields(fields)).Warn(msg) } +// Info uses the fields provided and logs +func Info(msg string, fields Fields) { + log.WithFields(log.Fields(fields)).Info(msg) +} |