package logsimport ()// Writer implements [io.Writer] by logging each write as a single log record// at the level specified when the [Writer] was created.typeWriterstruct {loggerLoggerctxcontext.Contextlevelslog.Leveler}// NewLogLogger returns a [log.Logger] that writes to logger at the given// level and context. It assumes a fixed call depth of 2, so it works only// when Output is called from [log.Logger]’s log methods like Print or Println.func ( context.Context, slog.Leveler, *Logger) *log.Logger {const = 2// skip [log.Logger.Output, log.Logger.Print] := .WithSkipPC().Writer(, )returnlog.New(, "", 0)}// Writer returns a new [Writer] that logs each write to l at the given level// and using the given context.func ( *Logger) ( context.Context, slog.Leveler) *Writer {return &Writer{logger: *,ctx: ,level: , }}// Write logs buf as a single record. It returns len(buf), nil if the configured// log level is not enabled.func ( *Writer) ( []byte) (int, error) { := .level.Level()if !.logger.Enabled(.ctx, ) {returnlen(), nil } := string(bytes.TrimSuffix(, []byte{'\n'})) := .logger.output(.ctx, , , nil)returnlen(), }
The pages are generated with Goldsv0.8.4. (GOOS=linux GOARCH=amd64)