github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/log/slog/attr.go (about) 1 // Copyright 2022 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package slog 6 7 import ( 8 "github.com/shogo82148/std/time" 9 ) 10 11 // Attrはキーと値のペアです。 12 type Attr struct { 13 Key string 14 Value Value 15 } 16 17 // Stringは文字列値のAttrを返します。 18 func String(key, value string) Attr 19 20 // Int64はint64のAttrを返します。 21 func Int64(key string, value int64) Attr 22 23 // Intはintをint64に変換し、その値を持つAttrを返します。 24 func Int(key string, value int) Attr 25 26 // Uint64はuint64のAttrを返します。 27 func Uint64(key string, v uint64) Attr 28 29 // Float64は浮動小数点数のAttrを返します。 30 func Float64(key string, v float64) Attr 31 32 // BoolはboolのAttrを返します。 33 func Bool(key string, v bool) Attr 34 35 // Timeは [time.Time] のAttrを返します。 36 // monotonic部分は破棄されます。 37 func Time(key string, v time.Time) Attr 38 39 // Durationは [time.Duration] のAttrを返します。 40 func Duration(key string, v time.Duration) Attr 41 42 // GroupはGroup [Value] のAttrを返します。 43 // 最初の引数はキーで、残りの引数は [Logger.Log] と同様にAttrsに変換されます。 44 // 45 // Groupを使用して、ログ行の単一のキーの下に複数のキー-値ペアを収集するか、 46 // LogValueの結果として単一の値を複数のAttrsとしてログに記録するために使用します。 47 func Group(key string, args ...any) Attr 48 49 // Anyは指定された値のAttrを返します。 50 // 値の扱い方については[AnyValue]を参照してください。 51 func Any(key string, value any) Attr 52 53 // Equalはaとbが等しいキーと値を持つかどうかを報告します。 54 func (a Attr) Equal(b Attr) bool 55 56 func (a Attr) String() string