handler_120.go raw

   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  //go:build !go1.21
   6  
   7  package slog
   8  
   9  import (
  10  	"golang.org/x/exp/slog"
  11  )
  12  
  13  // A Handler handles log records produced by a Logger..
  14  //
  15  // A typical handler may print log records to standard error,
  16  // or write them to a file or database, or perhaps augment them
  17  // with additional attributes and pass them on to another handler.
  18  //
  19  // Any of the Handler's methods may be called concurrently with itself
  20  // or with other methods. It is the responsibility of the Handler to
  21  // manage this concurrency.
  22  //
  23  // Users of the slog package should not invoke Handler methods directly.
  24  // They should use the methods of [Logger] instead.
  25  type Handler = slog.Handler
  26  
  27  // HandlerOptions are options for a TextHandler or JSONHandler.
  28  // A zero HandlerOptions consists entirely of default values.
  29  type HandlerOptions = slog.HandlerOptions
  30  
  31  // Keys for "built-in" attributes.
  32  const (
  33  	// TimeKey is the key used by the built-in handlers for the time
  34  	// when the log method is called. The associated Value is a [time.Time].
  35  	TimeKey = slog.TimeKey
  36  	// LevelKey is the key used by the built-in handlers for the level
  37  	// of the log call. The associated value is a [Level].
  38  	LevelKey = slog.LevelKey
  39  	// MessageKey is the key used by the built-in handlers for the
  40  	// message of the log call. The associated value is a string.
  41  	MessageKey = slog.MessageKey
  42  	// SourceKey is the key used by the built-in handlers for the source file
  43  	// and line of the log call. The associated value is a string.
  44  	SourceKey = slog.SourceKey
  45  )
  46