mirror of
https://github.com/akyaiy/GoSally-mvp.git
synced 2026-01-03 20:52:25 +00:00
- Change package name general_server to gateway - Changing the structure of directories and packages - Adding vendor to the project
26 lines
751 B
Go
26 lines
751 B
Go
package logs
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
"sync"
|
|
)
|
|
|
|
// MockHandler is a mock implementation of slog.Handler for testing purposes.
|
|
type MockHandler struct {
|
|
mu sync.Mutex
|
|
// Logs stores the log records captured by the handler.
|
|
Logs []slog.Record
|
|
}
|
|
|
|
func NewMockHandler() *MockHandler { return &MockHandler{} }
|
|
func (h *MockHandler) Enabled(_ context.Context, _ slog.Level) bool { return true }
|
|
func (h *MockHandler) WithAttrs(_ []slog.Attr) slog.Handler { return h }
|
|
func (h *MockHandler) WithGroup(_ string) slog.Handler { return h }
|
|
func (h *MockHandler) Handle(_ context.Context, r slog.Record) error {
|
|
h.mu.Lock()
|
|
defer h.mu.Unlock()
|
|
h.Logs = append(h.Logs, r.Clone())
|
|
return nil
|
|
}
|