mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 20:12:26 -05: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
 | |
| }
 |