this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

try to configure logging for railway app so they aren't all errors

+46 -3
+36
logging.go
··· 1 + package main 2 + 3 + import ( 4 + "log/slog" 5 + "os" 6 + ) 7 + 8 + func configureLogger() { 9 + minimumLevel := slog.LevelInfo 10 + 11 + logger := createLogger(minimumLevel) 12 + slog.SetDefault(logger) 13 + } 14 + 15 + func createLogger(minimumLevel slog.Leveler) *slog.Logger { 16 + commonFields := []slog.Attr{} // TODO: add common fields we may want 17 + changeNameFields := func(groups []string, a slog.Attr) slog.Attr { 18 + if a.Key == slog.LevelKey { 19 + a.Key = "level" 20 + return a 21 + } 22 + return a 23 + } 24 + h := slog.NewJSONHandler( 25 + os.Stdout, 26 + &slog.HandlerOptions{ 27 + Level: minimumLevel, 28 + ReplaceAttr: changeNameFields, 29 + }, 30 + ).WithAttrs( 31 + commonFields, 32 + ) 33 + 34 + l := slog.New(h) 35 + return l 36 + }
+10
main.go
··· 19 19 jsServerAddr = "wss://jetstream.atproto.tools/subscribe" 20 20 ) 21 21 22 + func configureLogger() { 23 + minimumLevel := slog.LevelInfo 24 + debugLogging := os.Getenv("ENABLE_DEBUG_LOGS") 25 + if debugLogging == "true" { 26 + minimumLevel = slog.LevelDebug 27 + } 28 + logger := logging.CreateLogger(minimumLevel) 29 + slog.SetDefault(logger) 30 + } 31 + 22 32 func main() { 23 33 signals := make(chan os.Signal, 1) 24 34 signal.Notify(signals, syscall.SIGTERM, syscall.SIGINT)
-3
server.go
··· 7 7 "log/slog" 8 8 "net/http" 9 9 "strconv" 10 - 11 - "github.com/bugsnag/bugsnag-go/v2" 12 10 ) 13 11 14 12 type Feeder interface { ··· 48 46 func (s *Server) Run() { 49 47 err := s.httpsrv.ListenAndServe() 50 48 if err != nil { 51 - bugsnag.Notify(fmt.Errorf("http server: %w", err)) 52 49 slog.Error("listen and serve", "error", err) 53 50 } 54 51 }