Source File
pretty.go
Belonging Package
google.golang.org/grpc/internal/pretty
/*** Copyright 2021 gRPC authors.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.**/// Package pretty defines helper functions to pretty-print structs for logging.package prettyimport ()const jsonIndent = " "// ToJSON marshals the input into a json string.//// If marshal fails, it falls back to fmt.Sprintf("%+v").func ( any) string {if , := .(protoadapt.MessageV1); {= protoadapt.MessageV2Of()}if , := .(protoadapt.MessageV2); {:= protojson.MarshalOptions{Indent: jsonIndent,Multiline: true,}, := .Marshal()if != nil {// This may fail for proto.Anys, e.g. for xDS v2, LDS, the v2// messages are not imported, and this will fail because the message// is not found.return fmt.Sprintf("%+v", )}return string()}, := json.MarshalIndent(, "", jsonIndent)if != nil {return fmt.Sprintf("%+v", )}return string()}// FormatJSON formats the input json bytes with indentation.//// If Indent fails, it returns the unchanged input as string.func ( []byte) string {var bytes.Buffer:= json.Indent(&, , "", jsonIndent)if != nil {return string()}return .String()}
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)