diff --git a/src/client/fix/manager.go b/src/client/fix/manager.go index d0db6c4..984ce10 100644 --- a/src/client/fix/manager.go +++ b/src/client/fix/manager.go @@ -1,7 +1,6 @@ package fix import ( - "fmt" "log/slog" "os" "sync" @@ -47,13 +46,19 @@ func (m *Manager) Start() error { f, err := os.Open(m.cfg.SettingsFile) if err != nil { - return fmt.Errorf("opening FIX settings file %q: %w", m.cfg.SettingsFile, err) + err = tracerr.Errorf("error opening FIX settings file %q: %s", m.cfg.SettingsFile, err) + log.Error().Msg(err.Error()) + + return err } defer f.Close() settings, err := quickfix.ParseSettings(f) if err != nil { - return fmt.Errorf("parsing FIX settings: %w", err) + err = tracerr.Errorf("error parsing FIX settings: %s", err) + log.Error().Msg(err.Error()) + + return err } storeFactory := quickfix.NewMemoryStoreFactory() @@ -67,13 +72,19 @@ func (m *Manager) Start() error { initiator, err := quickfix.NewInitiator(fixApp, storeFactory, settings, logFactory) if err != nil { - return fmt.Errorf("creating FIX initiator: %w", err) + err = tracerr.Errorf("error creating FIX initiator: %s", err) + log.Error().Msg(err.Error()) + + return err } m.initiator = initiator if err = m.initiator.Start(); err != nil { - return fmt.Errorf("starting FIX initiator: %w", err) + err = tracerr.Errorf("error starting FIX initiator: %s", err) + log.Error().Msg(err.Error()) + + return err } slog.Info("FIX initiator started", "settings", m.cfg.SettingsFile) @@ -113,7 +124,10 @@ func (m *Manager) SendQuote(clOrdID, quoteID, symbol, currency string, bidPx, of m.sessionsMu.RUnlock() if !ok { - return fmt.Errorf("no active FIX session") + err := tracerr.Errorf("error sending quote: no active FIX session") + log.Error().Msg(err.Error()) + + return err } q := quote.New( @@ -141,7 +155,10 @@ func (m *Manager) SendQuote(clOrdID, quoteID, symbol, currency string, bidPx, of } if err := quickfix.SendToTarget(q, sessionID); err != nil { - return fmt.Errorf("sending FIX quote: %w", err) + err = tracerr.Errorf("error sending FIX quote: %s", err) + log.Error().Msg(err.Error()) + + return err } slog.Info("Quote sent", "clOrdID", clOrdID, "quoteID", quoteID, "symbol", symbol)