// Copyright 2022 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package slog_test import "log/slog" type Name struct { First, Last string } // LogValue implements slog.LogValuer. // It returns a group containing the fields of // the Name, so that they appear together in the log output. func (n Name) LogValue() slog.Value { return slog.GroupValue( slog.String("first", n.First), slog.String("last", n.Last)) } func ExampleLogValuer_group() { n := Name{"Perry", "Platypus"} slog.Info("mission accomplished", "agent", n) // JSON Output would look in part like: // { // ... // "msg": "mission accomplished", // "agent": { // "first": "Perry", // "last": "Platypus" // } // } }