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