mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-03 19:42:25 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			68 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package viper
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
 | 
						|
	slog "github.com/sagikazarmark/slog-shim"
 | 
						|
)
 | 
						|
 | 
						|
// Logger is a unified interface for various logging use cases and practices, including:
 | 
						|
//   - leveled logging
 | 
						|
//   - structured logging
 | 
						|
//
 | 
						|
// Deprecated: use `log/slog` instead.
 | 
						|
type Logger interface {
 | 
						|
	// Trace logs a Trace event.
 | 
						|
	//
 | 
						|
	// Even more fine-grained information than Debug events.
 | 
						|
	// Loggers not supporting this level should fall back to Debug.
 | 
						|
	Trace(msg string, keyvals ...any)
 | 
						|
 | 
						|
	// Debug logs a Debug event.
 | 
						|
	//
 | 
						|
	// A verbose series of information events.
 | 
						|
	// They are useful when debugging the system.
 | 
						|
	Debug(msg string, keyvals ...any)
 | 
						|
 | 
						|
	// Info logs an Info event.
 | 
						|
	//
 | 
						|
	// General information about what's happening inside the system.
 | 
						|
	Info(msg string, keyvals ...any)
 | 
						|
 | 
						|
	// Warn logs a Warn(ing) event.
 | 
						|
	//
 | 
						|
	// Non-critical events that should be looked at.
 | 
						|
	Warn(msg string, keyvals ...any)
 | 
						|
 | 
						|
	// Error logs an Error event.
 | 
						|
	//
 | 
						|
	// Critical events that require immediate attention.
 | 
						|
	// Loggers commonly provide Fatal and Panic levels above Error level,
 | 
						|
	// but exiting and panicking is out of scope for a logging library.
 | 
						|
	Error(msg string, keyvals ...any)
 | 
						|
}
 | 
						|
 | 
						|
// WithLogger sets a custom logger.
 | 
						|
func WithLogger(l *slog.Logger) Option {
 | 
						|
	return optionFunc(func(v *Viper) {
 | 
						|
		v.logger = l
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
type discardHandler struct{}
 | 
						|
 | 
						|
func (n *discardHandler) Enabled(_ context.Context, _ slog.Level) bool {
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
func (n *discardHandler) Handle(_ context.Context, _ slog.Record) error {
 | 
						|
	return nil
 | 
						|
}
 | 
						|
 | 
						|
func (n *discardHandler) WithAttrs(_ []slog.Attr) slog.Handler {
 | 
						|
	return n
 | 
						|
}
 | 
						|
 | 
						|
func (n *discardHandler) WithGroup(_ string) slog.Handler {
 | 
						|
	return n
 | 
						|
}
 |