design/56345-structured-logging.md: s/Logger/*Logger/

Update the proposal to reflect https://go.dev/cl/448716, which
made Logger a pointer type.

Change-Id: If72913e1c780d1a5e46314150f500dee042f1251
Reviewed-on: https://go-review.googlesource.com/c/proposal/+/450035
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/design/56345-structured-logging.md b/design/56345-structured-logging.md
index 024afc5..98c8322 100644
--- a/design/56345-structured-logging.md
+++ b/design/56345-structured-logging.md
@@ -224,11 +224,11 @@
 	// A Handler should treat WithGroup as starting a Group of Attrs that ends
 	// at the end of the log event. That is,
 	//
-	//     logger.WithGroup("s").LogAttrs(slog.Int("a", 1), slog.Int("b", 2))
+	//     logger.WithGroup("s").LogAttrs(level, msg, slog.Int("a", 1), slog.Int("b", 2))
 	//
 	// should behave like
 	//
-	//     logger.LogAttrs(slog.Group("s", slog.Int("a", 1), slog.Int("b", 2)))
+	//     logger.LogAttrs(level, msg, slog.Group("s", slog.Int("a", 1), slog.Int("b", 2)))
 	WithGroup(name string) Handler
 }
 ```
@@ -539,10 +539,10 @@
 `Handler`, and the `Handler` method to retrieve it.
 
 ```
-func New(h Handler) Logger
+func New(h Handler) *Logger
     New creates a new Logger with the given Handler.
 
-func (l Logger) Handler() Handler
+func (l *Logger) Handler() Handler
     Handler returns l's Handler.
 ```
 
@@ -551,12 +551,12 @@
 `Default` functions.
 
 ```
-func SetDefault(l Logger)
+func SetDefault(l *Logger)
     SetDefault makes l the default Logger. After this call, output from the
     log package's default Logger (as with log.Print, etc.) will be logged at
     InfoLevel using l's Handler.
 
-func Default() Logger
+func Default() *Logger
     Default returns the default Logger.
 ```
 
@@ -584,7 +584,7 @@
 
 
 ```
-func (l Logger) Log(level Level, msg string, args ...any)
+func (l *Logger) Log(level Level, msg string, args ...any)
     Log emits a log record with the current time and the given level and
     message. The Record's Attrs consist of the Logger's attributes followed by
     the Attrs specified by args.
@@ -596,19 +596,19 @@
         an Attr.
       - Otherwise, the argument is treated as a value with key "!BADKEY".
 
-func (l Logger) LogAttrs(level Level, msg string, attrs ...Attr)
+func (l *Logger) LogAttrs(level Level, msg string, attrs ...Attr)
     LogAttrs is a more efficient version of Logger.Log that accepts only Attrs.
 
-func (l Logger) Debug(msg string, args ...any)
+func (l *Logger) Debug(msg string, args ...any)
     Debug logs at DebugLevel.
 
-func (l Logger) Info(msg string, args ...any)
+func (l *Logger) Info(msg string, args ...any)
     Info logs at InfoLevel.
 
-func (l Logger) Warn(msg string, args ...any)
+func (l *Logger) Warn(msg string, args ...any)
     Warn logs at WarnLevel.
 
-func (l Logger) Error(msg string, err error, args ...any)
+func (l *Logger) Error(msg string, err error, args ...any)
     Error logs at ErrorLevel. If err is non-nil, Error appends Any("err",
     err) to the list of attributes.
 ```
@@ -617,12 +617,12 @@
 functions can wrap them and adjust the source line information.
 
 ```
-func (l Logger) LogDepth(calldepth int, level Level, msg string, args ...any)
+func (l *Logger) LogDepth(calldepth int, level Level, msg string, args ...any)
     LogDepth is like Logger.Log, but accepts a call depth to adjust the file
     and line number in the log record. 0 refers to the caller of LogDepth;
     1 refers to the caller's caller; and so on.
 
-func (l Logger) LogAttrsDepth(calldepth int, level Level, msg string, attrs ...Attr)
+func (l *Logger) LogAttrsDepth(calldepth int, level Level, msg string, attrs ...Attr)
     LogAttrsDepth is like Logger.LogAttrs, but accepts a call depth argument
     which it interprets like Logger.LogDepth.
 ```
@@ -630,7 +630,7 @@
 Loggers can have attributes as well, added by the `With` method.
 
 ```
-func (l Logger) With(args ...any) Logger
+func (l *Logger) With(args ...any) *Logger
     With returns a new Logger that includes the given arguments, converted to
     Attrs as in Logger.Log. The Attrs will be added to each output from the
     Logger.
@@ -713,7 +713,7 @@
 
 
 ```
-func (l Logger) WithGroup(name string) Logger
+func (l *Logger) WithGroup(name string) *Logger
     WithGroup returns a new Logger that starts a group. The keys of all
     attributes added to the Logger will be qualified by the given name.
 ```
@@ -728,7 +728,7 @@
 The `slog` package has two functions to support this pattern.
 
 ```
-func FromContext(ctx context.Context) Logger
+func FromContext(ctx context.Context) *Logger
     FromContext returns the Logger stored in ctx by NewContext, or the default
     Logger if there is none.
 
@@ -780,14 +780,14 @@
 We also provide a convenient shorthand, `slog.Ctx`.
 
 ```
-func (l Logger) WithContext(ctx context.Context) Logger
+func (l *Logger) WithContext(ctx context.Context) *Logger
     WithContext returns a new Logger with the same handler as the receiver and
     the given context.
 
-func (l Logger) Context() context.Context
+func (l *Logger) Context() context.Context
     Context returns l's context.
 
-func Ctx(ctx context.Context) Logger
+func Ctx(ctx context.Context) *Logger
     Ctx retrieves a Logger from the given context using FromContext. Then it
     adds the given context to the Logger using WithContext and returns the
     result.
@@ -1004,11 +1004,11 @@
 func LogAttrs(level Level, msg string, attrs ...Attr)
     LogAttrs calls Logger.LogAttrs on the default logger.
 
-func NewContext(ctx context.Context, l Logger) context.Context
+func NewContext(ctx context.Context, l *Logger) context.Context
     NewContext returns a context that contains the given Logger. Use FromContext
     to retrieve the Logger.
 
-func SetDefault(l Logger)
+func SetDefault(l *Logger)
     SetDefault makes l the default Logger. After this call, output from the
     log package's default Logger (as with log.Print, etc.) will be logged at
     InfoLevel using l's Handler.
@@ -1096,11 +1096,11 @@
 	// A Handler should treat WithGroup as starting a Group of Attrs that ends
 	// at the end of the log event. That is,
 	//
-	//     logger.WithGroup("s").LogAttrs(slog.Int("a", 1), slog.Int("b", 2))
+	//     logger.WithGroup("s").LogAttrs(level, msg, slog.Int("a", 1), slog.Int("b", 2))
 	//
 	// should behave like
 	//
-	//     logger.LogAttrs(slog.Group("s", slog.Int("a", 1), slog.Int("b", 2)))
+	//     logger.LogAttrs(level, msg, slog.Group("s", slog.Int("a", 1), slog.Int("b", 2)))
 	WithGroup(name string) Handler
 }
     A Handler handles log records produced by a Logger..
@@ -1223,16 +1223,11 @@
 	WarnLevel  Level = 4
 	ErrorLevel Level = 8
 )
-    The level numbers below don't really matter too much. Any system can map
-    them to another numbering scheme if it wishes. We picked them to satisfy
-    three constraints.
-
-    First, we wanted the default level to be Info, Since Levels are ints,
-    Info is the default value for int, zero.
-
-    Second, we wanted to make it easy to work with verbosities instead of
-    levels. Verbosities start at 0 corresponding to Info, and larger values are
-    less severe Negating a verbosity converts it into a Level.
+    Second, we wanted to make it easy to use levels to specify logger verbosity.
+    Since a larger level means a more severe event, a logger that accepts events
+    with smaller (or more negative) level means a more verbose logger. Logger
+    verbosity is thus the negation of event severity, and the default verbosity
+    of 0 accepts all events at least as severe as INFO.
 
     Third, we wanted some room between levels to accommodate schemes with
     named levels between ours. For example, Google Cloud Logging defines a
@@ -1302,44 +1297,44 @@
 
     To create a new Logger, call New or a Logger method that begins "With".
 
-func Ctx(ctx context.Context) Logger
+func Ctx(ctx context.Context) *Logger
     Ctx retrieves a Logger from the given context using FromContext. Then it
     adds the given context to the Logger using WithContext and returns the
     result.
 
-func Default() Logger
+func Default() *Logger
     Default returns the default Logger.
 
-func FromContext(ctx context.Context) Logger
+func FromContext(ctx context.Context) *Logger
     FromContext returns the Logger stored in ctx by NewContext, or the default
     Logger if there is none.
 
-func New(h Handler) Logger
+func New(h Handler) *Logger
     New creates a new Logger with the given Handler.
 
-func With(args ...any) Logger
+func With(args ...any) *Logger
     With calls Logger.With on the default logger.
 
-func (l Logger) Context() context.Context
+func (l *Logger) Context() context.Context
     Context returns l's context.
 
-func (l Logger) Debug(msg string, args ...any)
+func (l *Logger) Debug(msg string, args ...any)
     Debug logs at DebugLevel.
 
-func (l Logger) Enabled(level Level) bool
+func (l *Logger) Enabled(level Level) bool
     Enabled reports whether l emits log records at the given level.
 
-func (l Logger) Error(msg string, err error, args ...any)
+func (l *Logger) Error(msg string, err error, args ...any)
     Error logs at ErrorLevel. If err is non-nil, Error appends Any("err",
     err) to the list of attributes.
 
-func (l Logger) Handler() Handler
+func (l *Logger) Handler() Handler
     Handler returns l's Handler.
 
-func (l Logger) Info(msg string, args ...any)
+func (l *Logger) Info(msg string, args ...any)
     Info logs at InfoLevel.
 
-func (l Logger) Log(level Level, msg string, args ...any)
+func (l *Logger) Log(level Level, msg string, args ...any)
     Log emits a log record with the current time and the given level and
     message. The Record's Attrs consist of the Logger's attributes followed by
     the Attrs specified by args.
@@ -1351,22 +1346,22 @@
         an Attr.
       - Otherwise, the argument is treated as a value with key "!BADKEY".
 
-func (l Logger) LogAttrs(level Level, msg string, attrs ...Attr)
+func (l *Logger) LogAttrs(level Level, msg string, attrs ...Attr)
     LogAttrs is a more efficient version of Logger.Log that accepts only Attrs.
 
-func (l Logger) LogAttrsDepth(calldepth int, level Level, msg string, attrs ...Attr)
+func (l *Logger) LogAttrsDepth(calldepth int, level Level, msg string, attrs ...Attr)
     LogAttrsDepth is like Logger.LogAttrs, but accepts a call depth argument
     which it interprets like Logger.LogDepth.
 
-func (l Logger) LogDepth(calldepth int, level Level, msg string, args ...any)
+func (l *Logger) LogDepth(calldepth int, level Level, msg string, args ...any)
     LogDepth is like Logger.Log, but accepts a call depth to adjust the file
     and line number in the log record. 0 refers to the caller of LogDepth;
     1 refers to the caller's caller; and so on.
 
-func (l Logger) Warn(msg string, args ...any)
+func (l *Logger) Warn(msg string, args ...any)
     Warn logs at WarnLevel.
 
-func (l Logger) With(args ...any) Logger
+func (l *Logger) With(args ...any) *Logger
     With returns a new Logger that includes the given arguments, converted to
     Attrs as in Logger.Log. The Attrs will be added to each output from the
     Logger.
@@ -1374,11 +1369,11 @@
     The new Logger's handler is the result of calling WithAttrs on the
     receiver's handler.
 
-func (l Logger) WithContext(ctx context.Context) Logger
+func (l *Logger) WithContext(ctx context.Context) *Logger
     WithContext returns a new Logger with the same handler as the receiver and
     the given context.
 
-func (l Logger) WithGroup(name string) Logger
+func (l *Logger) WithGroup(name string) *Logger
     WithGroup returns a new Logger that starts a group. The keys of all
     attributes added to the Logger will be qualified by the given name.
 
@@ -1575,4 +1570,5 @@
 func (v Value) Uint64() uint64
     Uint64 returns v's value as a uint64. It panics if v is not an unsigned
     integer.
+
 ```