fxslog

package module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 9, 2024 License: MIT Imports: 6 Imported by: 0

README

fxslog

a small shim package providing a slog logger for uber's fx library

Usage

The WithLogger function returns an fx.Option that configures fx to use a *slog.Logger for logging. Using this option requires that you provide a *slog.Logger.

func main() {
	flag.Parse()

	fx.New(
		//fx.WithLogger(
		//	func(logger *slog.Logger) fxevent.Logger {
		//		return &fxslog.SlogLogger{Logger: logger.With("component", "uber/fx")}
		//	},
		//),
        
        // This is a thin wrapper over the snippet from above.
        fxslog.WithLogger(),
        
        fx.Provide(
            // We still need to provide a logger. The fxslog.WithLogger 
            // returns a fx.Option that consumes *slog.Logger
            func() *slog.Logger{
                return slog.Default()
            },
        )
		...
	).Run()
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithLogger added in v1.1.0

func WithLogger(opts ...Option) fx.Option

WithLogger is an fx.Option that configures fx to

Types

type Option added in v1.1.0

type Option func(logger *slog.Logger) *slog.Logger

Option is an option to the WithLogger function.

type SlogLogger

type SlogLogger struct {
	Logger *slog.Logger
	// contains filtered or unexported fields
}

SlogLogger is a shim that allows uber/fx to use slog for logging.

func New added in v1.1.0

func New(logger *slog.Logger) *SlogLogger

New returns a new SlogLogger

func (*SlogLogger) LogEvent

func (l *SlogLogger) LogEvent(event fxevent.Event)

LogEvent logs the given event to the provided Zap logger.

func (*SlogLogger) UseContext

func (l *SlogLogger) UseContext(ctx context.Context)

UseContext sets the context that will be used when logging to slog.

func (*SlogLogger) UseErrorLevel

func (l *SlogLogger) UseErrorLevel(level slog.Level)

UseErrorLevel sets the level of error logs emitted by Fx to level.

func (*SlogLogger) UseLogLevel

func (l *SlogLogger) UseLogLevel(level slog.Level)

UseLogLevel sets the level of non-error logs emitted by Fx to level.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL