github.com/hashicorp/vault/sdk@v0.11.0/helper/testcluster/logging.go (about)

     1  // Copyright (c) HashiCorp, Inc.
     2  // SPDX-License-Identifier: MPL-2.0
     3  
     4  package testcluster
     5  
     6  import (
     7  	"encoding/json"
     8  	"strings"
     9  
    10  	"github.com/hashicorp/go-hclog"
    11  )
    12  
    13  func JSONLogNoTimestamp(outlog hclog.Logger, text string) {
    14  	d := json.NewDecoder(strings.NewReader(text))
    15  	m := map[string]interface{}{}
    16  	if err := d.Decode(&m); err != nil {
    17  		outlog.Error("failed to decode json output from dev vault", "error", err, "input", text)
    18  		return
    19  	}
    20  
    21  	delete(m, "@timestamp")
    22  	message := m["@message"].(string)
    23  	delete(m, "@message")
    24  	level := m["@level"].(string)
    25  	delete(m, "@level")
    26  	if module, ok := m["@module"]; ok {
    27  		delete(m, "@module")
    28  		outlog = outlog.Named(module.(string))
    29  	}
    30  
    31  	var pairs []interface{}
    32  	for k, v := range m {
    33  		pairs = append(pairs, k, v)
    34  	}
    35  
    36  	outlog.Log(hclog.LevelFromString(level), message, pairs...)
    37  }