| // Copyright 2024 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package slog_test |
| |
| import ( |
| "log/slog" |
| "os" |
| ) |
| |
| func Example_discardHandler() { |
| removeTime := func(groups []string, a slog.Attr) slog.Attr { |
| if a.Key == slog.TimeKey && len(groups) == 0 { |
| return slog.Attr{} |
| } |
| return a |
| } |
| // A slog.TextHandler can output log messages. |
| logger1 := slog.New(slog.NewTextHandler( |
| os.Stdout, |
| &slog.HandlerOptions{ReplaceAttr: removeTime}, |
| )) |
| logger1.Info("message 1") |
| |
| // A slog.DiscardHandler will discard all messages. |
| logger2 := slog.New(slog.DiscardHandler) |
| logger2.Info("message 2") |
| |
| // Output: |
| // level=INFO msg="message 1" |
| } |