garm/vendor/github.com/lxc/lxd/shared/logger/format.go
Gabriel Adrian Samfira bbbe67bf7c Vendor packages and add Makefile
* Vendors packages
  * Adds a Makefile that uses docker to build a static binary against musl
using alpine linux.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-06-30 10:20:32 +00:00

25 lines
530 B
Go

package logger
import (
"encoding/json"
"fmt"
"runtime"
)
// Pretty will attempt to convert any Go structure into a string suitable for logging
func Pretty(input any) string {
pretty, err := json.MarshalIndent(input, "\t", "\t")
if err != nil {
return fmt.Sprintf("%v", input)
}
return fmt.Sprintf("\n\t%s", pretty)
}
// GetStack will convert the Go stack into a string suitable for logging
func GetStack() string {
buf := make([]byte, 1<<16)
n := runtime.Stack(buf, true)
return fmt.Sprintf("\n\t%s", buf[:n])
}