diff --git a/.changeset/warm-cobras-poke.md b/.changeset/warm-cobras-poke.md new file mode 100644 index 00000000000..0bfb1dd44b4 --- /dev/null +++ b/.changeset/warm-cobras-poke.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +#updated Fix verb formatting in the log outputs. diff --git a/.golangci.yml b/.golangci.yml index 3834400ba67..19121c3d476 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -33,6 +33,18 @@ linters-settings: govet: # report about shadowed variables check-shadowing: true + settings: + printf: + # Additionally check chainlink custom loggers + funcs: + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf errorlint: # Allow formatting of errors without %w errorf: false diff --git a/core/cmd/shell.go b/core/cmd/shell.go index d6f99955e10..e12b069277b 100644 --- a/core/cmd/shell.go +++ b/core/cmd/shell.go @@ -263,9 +263,9 @@ func handleNodeVersioning(ctx context.Context, db *sqlx.DB, appLggr logger.Logge if backupCfg.Mode() != config.DatabaseBackupModeNone && backupCfg.OnVersionUpgrade() { if err = takeBackupIfVersionUpgrade(cfg.URL(), rootDir, cfg.Backup(), appLggr, appv, dbv, healthReportPort); err != nil { if errors.Is(err, sql.ErrNoRows) { - appLggr.Debugf("Failed to find any node version in the DB: %w", err) + appLggr.Debugf("Failed to find any node version in the DB: %v", err) } else if strings.Contains(err.Error(), "relation \"node_versions\" does not exist") { - appLggr.Debugf("Failed to find any node version in the DB, the node_versions table does not exist yet: %w", err) + appLggr.Debugf("Failed to find any node version in the DB, the node_versions table does not exist yet: %v", err) } else { return fmt.Errorf("initializeORM#FindLatestNodeVersion: %w", err) } @@ -830,7 +830,7 @@ func (t *promptingAPIInitializer) Initialize(ctx context.Context, orm sessions.B continue } if err = orm.CreateUser(ctx, &user); err != nil { - lggr.Errorf("Error creating API user: ", err, "err") + lggr.Errorw("Error creating API user", "err", err) } return user, err } diff --git a/core/services/feeds/service.go b/core/services/feeds/service.go index 4add9ff320d..f8574af27ec 100644 --- a/core/services/feeds/service.go +++ b/core/services/feeds/service.go @@ -276,7 +276,7 @@ func (s *service) UpdateManager(ctx context.Context, mgr FeedsManager) error { } if err := s.restartConnection(ctx, mgr); err != nil { - s.lggr.Errorf("could not restart FMS connection: %w", err) + s.lggr.Errorf("could not restart FMS connection: %v", err) } return nil @@ -347,7 +347,7 @@ func (s *service) CreateChainConfig(ctx context.Context, cfg ChainConfig) (int64 } if err := s.SyncNodeInfo(ctx, mgr.ID); err != nil { - s.lggr.Infof("FMS: Unable to sync node info: %w", err) + s.lggr.Infof("FMS: Unable to sync node info: %v", err) } return id, nil @@ -371,7 +371,7 @@ func (s *service) DeleteChainConfig(ctx context.Context, id int64) (int64, error } if err := s.SyncNodeInfo(ctx, mgr.ID); err != nil { - s.lggr.Infof("FMS: Unable to sync node info: %w", err) + s.lggr.Infof("FMS: Unable to sync node info: %v", err) } return id, nil @@ -412,7 +412,7 @@ func (s *service) UpdateChainConfig(ctx context.Context, cfg ChainConfig) (int64 } if err := s.SyncNodeInfo(ctx, ccfg.FeedsManagerID); err != nil { - s.lggr.Infof("FMS: Unable to sync node info: %w", err) + s.lggr.Infof("FMS: Unable to sync node info: %v", err) } return id, nil diff --git a/core/services/gateway/handlers/functions/allowlist/allowlist.go b/core/services/gateway/handlers/functions/allowlist/allowlist.go index 2a27f51471a..d180195865d 100644 --- a/core/services/gateway/handlers/functions/allowlist/allowlist.go +++ b/core/services/gateway/handlers/functions/allowlist/allowlist.go @@ -237,12 +237,12 @@ func (a *onchainAllowlist) updateFromContractV1(ctx context.Context, blockNum *b err = a.orm.PurgeAllowedSenders(ctx) if err != nil { - a.lggr.Errorf("failed to purge allowedSenderList: %w", err) + a.lggr.Errorf("failed to purge allowedSenderList: %v", err) } err = a.orm.CreateAllowedSenders(ctx, allowedSenderList) if err != nil { - a.lggr.Errorf("failed to update stored allowedSenderList: %w", err) + a.lggr.Errorf("failed to update stored allowedSenderList: %v", err) } a.update(allowedSenderList) @@ -343,7 +343,7 @@ func (a *onchainAllowlist) updateAllowedSendersBatch( // persist each batch to the underalying orm layer err = a.orm.CreateAllowedSenders(ctx, allowedSendersBatch) if err != nil { - a.lggr.Errorf("failed to update stored allowedSenderList: %w", err) + a.lggr.Errorf("failed to update stored allowedSenderList: %v", err) } return nil } @@ -380,7 +380,7 @@ func (a *onchainAllowlist) syncBlockedSenders(ctx context.Context, tosContract * err = a.orm.DeleteAllowedSenders(ctx, blockedSendersBatch) if err != nil { - a.lggr.Errorf("failed to delete blocked address from allowed list in storage: %w", err) + a.lggr.Errorf("failed to delete blocked address from allowed list in storage: %v", err) } } throttleTicker.Stop() @@ -403,7 +403,7 @@ func (a *onchainAllowlist) loadStoredAllowedSenderList(ctx context.Context) { for { asBatch, err := a.orm.GetAllowedSenders(ctx, offset, a.config.StoredAllowlistBatchSize) if err != nil { - a.lggr.Errorf("failed to get stored allowed senders: %w", err) + a.lggr.Errorf("failed to get stored allowed senders: %v", err) break } diff --git a/core/services/gateway/handlers/functions/subscriptions/subscriptions.go b/core/services/gateway/handlers/functions/subscriptions/subscriptions.go index d481ecf12ed..c2b2835099f 100644 --- a/core/services/gateway/handlers/functions/subscriptions/subscriptions.go +++ b/core/services/gateway/handlers/functions/subscriptions/subscriptions.go @@ -210,7 +210,7 @@ func (s *onchainSubscriptions) querySubscriptionsRange(ctx context.Context, bloc SubscriptionID: subscriptionId, IFunctionsSubscriptionsSubscription: subscription, }); err != nil { - s.lggr.Errorf("unexpected error updating subscription in the db: %w", err) + s.lggr.Errorf("unexpected error updating subscription in the db: %v", err) } } } diff --git a/core/services/gateway/network/wsclient.go b/core/services/gateway/network/wsclient.go index bc248d202ac..436ff01a929 100644 --- a/core/services/gateway/network/wsclient.go +++ b/core/services/gateway/network/wsclient.go @@ -51,7 +51,7 @@ func (c *webSocketClient) Connect(ctx context.Context, url *url.URL) (*websocket conn, resp, err := c.dialer.DialContext(ctx, url.String(), hdr) if err != nil { - c.lggr.Errorf("WebSocketClient: couldn't connect to %s: %w", url.String(), err) + c.lggr.Errorf("WebSocketClient: couldn't connect to %s: %v", url.String(), err) c.tryCloseConn(conn) return nil, err } @@ -71,13 +71,13 @@ func (c *webSocketClient) Connect(ctx context.Context, url *url.URL) (*websocket response, err := c.initiator.ChallengeResponse(url, challenge) if err != nil { - c.lggr.Errorf("WebSocketClient: couldn't generate challenge response", err) + c.lggr.Error("WebSocketClient: couldn't generate challenge response; error: ", err) c.tryCloseConn(conn) return nil, err } if err = conn.WriteMessage(websocket.BinaryMessage, response); err != nil { - c.lggr.Errorf("WebSocketClient: couldn't send challenge response", err) + c.lggr.Error("WebSocketClient: couldn't send challenge response; error: ", err) c.tryCloseConn(conn) return nil, err } @@ -88,7 +88,7 @@ func (c *webSocketClient) tryCloseConn(conn *websocket.Conn) { if conn != nil { err := conn.Close() if err != nil { - c.lggr.Errorf("WebSocketClient: error closing connection %w", err) + c.lggr.Errorf("WebSocketClient: error closing connection %v", err) } } } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go index 56c200f9b13..ce7325a96be 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go @@ -215,7 +215,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { defer cancel() err := f(ctx) if err != nil { - lggr.Errorf("failed to initialize upkeeps", err) + lggr.Errorf("failed to initialize upkeeps; error %v", err) } for { @@ -223,7 +223,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { case <-tmr.C: err = f(ctx) if err != nil { - lggr.Errorf("failed to re-initialize upkeeps", err) + lggr.Errorf("failed to re-initialize upkeeps; error %v", err) } tmr.Reset(reInitializationDelay) case <-ctx.Done(): @@ -245,7 +245,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { case <-ticker.C: err := f(ctx) if err != nil { - lggr.Errorf("failed to poll logs for upkeeps", err) + lggr.Errorf("failed to poll logs for upkeeps; error %v", err) } case <-ctx.Done(): ticker.Stop() @@ -265,7 +265,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { case l := <-ch: err := f(ctx, l) if err != nil { - lggr.Errorf("failed to process log for upkeep", err) + lggr.Errorf("failed to process log for upkeep; error %v", err) } case <-ctx.Done(): return @@ -420,16 +420,16 @@ func (r *EvmRegistry) processUpkeepStateLog(ctx context.Context, l logpoller.Log switch l := abilog.(type) { case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepRegistered: - r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, false) case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepReceived: - r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, false) case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepUnpaused: - r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, false) case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepGasLimitSet: - r.lggr.Debugf("KeeperRegistryUpkeepGasLimitSet log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepGasLimitSet log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, true) } @@ -447,7 +447,7 @@ func (r *EvmRegistry) addToActive(ctx context.Context, id *big.Int, force bool) if _, ok := r.active[id.String()]; !ok || force { actives, err := r.getUpkeepConfigs(ctx, []*big.Int{id}) if err != nil { - r.lggr.Errorf("failed to get upkeep configs during adding active upkeep: %w", err) + r.lggr.Errorf("failed to get upkeep configs during adding active upkeep: %v", err) return } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go index 3a7d329ac02..d07af8a8de4 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go @@ -147,11 +147,11 @@ func (bs *BlockSubscriber) initialize(ctx context.Context) { // initialize the blocks map with the recent blockSize blocks blocks, err := bs.getBlockRange(ctx) if err != nil { - bs.lggr.Errorf("failed to get block range", err) + bs.lggr.Errorf("failed to get block range; error %v", err) } err = bs.initializeBlocks(ctx, blocks) if err != nil { - bs.lggr.Errorf("failed to get log poller blocks", err) + bs.lggr.Errorf("failed to get log poller blocks; error %v", err) } _, bs.unsubscribe = bs.hb.Subscribe(&headWrapper{headC: bs.headC, lggr: bs.lggr}) } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go index 5ef321cbf7d..f00459dee67 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go @@ -724,7 +724,7 @@ func (r *logRecoverer) updateBlockTime(ctx context.Context) { currentBlockTime := r.blockTime.Load() newBlockTime := int64(blockTime) if currentBlockTime > 0 && (int64(math.Abs(float64(currentBlockTime-newBlockTime)))*100/currentBlockTime) > 20 { - r.lggr.Warnf("updating blocktime from %d to %d, this change is larger than 20%", currentBlockTime, newBlockTime) + r.lggr.Warnf("updating blocktime from %d to %d, this change is larger than 20%%", currentBlockTime, newBlockTime) } else { r.lggr.Debugf("updating blocktime from %d to %d", currentBlockTime, newBlockTime) } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go index 6bab073b9b3..cb7e689b042 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go @@ -215,7 +215,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { lggr := r.lggr.With("where", "upkeeps_referesh") err := r.refreshActiveUpkeeps(ctx) if err != nil { - lggr.Errorf("failed to initialize upkeeps", err) + lggr.Errorf("failed to initialize upkeeps; error %v", err) } ticker := time.NewTicker(refreshInterval) @@ -226,7 +226,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { case <-ticker.C: err = r.refreshActiveUpkeeps(ctx) if err != nil { - lggr.Errorf("failed to refresh upkeeps", err) + lggr.Errorf("failed to refresh upkeeps; error %v", err) } case <-ctx.Done(): return @@ -244,7 +244,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { case <-ticker.C: err := r.pollUpkeepStateLogs(ctx) if err != nil { - lggr.Errorf("failed to poll logs for upkeeps", err) + lggr.Errorf("failed to poll logs for upkeeps; error %v", err) } case <-ctx.Done(): return @@ -261,7 +261,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { case l := <-ch: err := r.processUpkeepStateLog(ctx, l) if err != nil { - lggr.Errorf("failed to process log for upkeep", err) + lggr.Errorf("failed to process log for upkeep; error %v", err) } case <-ctx.Done(): return @@ -464,39 +464,39 @@ func (r *EvmRegistry) processUpkeepStateLog(ctx context.Context, l logpoller.Log switch l := abilog.(type) { case *ac.IAutomationV21PlusCommonUpkeepPaused: - r.lggr.Debugf("KeeperRegistryUpkeepPaused log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepPaused log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.removeFromActive(ctx, l.Id) case *ac.IAutomationV21PlusCommonUpkeepCanceled: - r.lggr.Debugf("KeeperRegistryUpkeepCanceled log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepCanceled log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.removeFromActive(ctx, l.Id) case *ac.IAutomationV21PlusCommonUpkeepMigrated: - r.lggr.Debugf("AutomationV2CommonUpkeepMigrated log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("AutomationV2CommonUpkeepMigrated log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.removeFromActive(ctx, l.Id) case *ac.IAutomationV21PlusCommonUpkeepTriggerConfigSet: - r.lggr.Debugf("KeeperRegistryUpkeepTriggerConfigSet log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepTriggerConfigSet log detected for upkeep ID %s in transaction %s", l.Id, txHash) if err := r.updateTriggerConfig(ctx, l.Id, l.TriggerConfig, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepTriggerConfigSet for upkeep ID %s: %s", l.Id.String(), err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepTriggerConfigSet for upkeep ID %s: %s", l.Id, err) } case *ac.IAutomationV21PlusCommonUpkeepRegistered: uid := &ocr2keepers.UpkeepIdentifier{} uid.FromBigInt(l.Id) trigger := core.GetUpkeepType(*uid) - r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s (trigger=%d) in transaction %s", l.Id.String(), trigger, txHash) + r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s (trigger=%d) in transaction %s", l.Id, trigger, txHash) r.active.Add(l.Id) if err := r.updateTriggerConfig(ctx, l.Id, nil, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepRegistered for upkeep ID %s: %s", err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepRegistered for upkeep ID %s: %s", l.Id, err) } case *ac.IAutomationV21PlusCommonUpkeepReceived: - r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.active.Add(l.Id) if err := r.updateTriggerConfig(ctx, l.Id, nil, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepReceived for upkeep ID %s: %s", err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepReceived for upkeep ID %s: %s", l.Id, err) } case *ac.IAutomationV21PlusCommonUpkeepUnpaused: - r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.active.Add(l.Id) if err := r.updateTriggerConfig(ctx, l.Id, nil, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepUnpaused for upkeep ID %s: %s", err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepUnpaused for upkeep ID %s: %s", l.Id, err) } default: r.lggr.Debugf("Unknown log detected for log %+v in transaction %s", l, txHash) diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go index ef0089921ce..f14c9865c35 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go @@ -148,7 +148,7 @@ func (r *EvmRegistry) verifyLogExists(ctx context.Context, upkeepId *big.Int, p // if this block number/hash combo exists in block subscriber, this block and tx still exists on chain and is valid // the block hash in block subscriber might be slightly outdated, if it doesn't match then we fetch the latest from RPC. if ok && h == logBlockHash.Hex() { - r.lggr.Debugf("tx hash %s exists on chain at block number %d, block hash %s for upkeepId %s", hexutil.Encode(p.Trigger.LogTriggerExtension.TxHash[:]), logBlockHash.Hex(), logBlockNumber, upkeepId) + r.lggr.Debugf("tx hash %s exists on chain at block number %d, block hash %s for upkeepId %s", hexutil.Encode(p.Trigger.LogTriggerExtension.TxHash[:]), logBlockNumber, logBlockHash.Hex(), upkeepId) return encoding.UpkeepFailureReasonNone, encoding.NoPipelineError, false } // if this block does not exist in the block subscriber, the block which this log lived on was probably re-orged diff --git a/core/services/ocrcommon/telemetry.go b/core/services/ocrcommon/telemetry.go index b641bd2b3cf..ec50db18aa2 100644 --- a/core/services/ocrcommon/telemetry.go +++ b/core/services/ocrcommon/telemetry.go @@ -458,7 +458,7 @@ func (e *EnhancedTelemetryService[T]) getPricesFromResults(startTask pipeline.Ta // We rely on task results to be sorted in the correct order benchmarkPriceTask := allTasks.GetNextTaskOf(startTask) if benchmarkPriceTask == nil { - e.lggr.Warnf("cannot parse enhanced EA telemetry benchmark price, task is nil, job %d, id %s", e.job.ID) + e.lggr.Warnf("cannot parse enhanced EA telemetry benchmark price, task is nil, job %d", e.job.ID) return 0, 0, 0 } if benchmarkPriceTask.Task.Type() == pipeline.TaskTypeJSONParse { @@ -479,7 +479,7 @@ func (e *EnhancedTelemetryService[T]) getPricesFromResults(startTask pipeline.Ta bidTask := allTasks.GetNextTaskOf(*benchmarkPriceTask) if bidTask == nil { - e.lggr.Warnf("cannot parse enhanced EA telemetry bid price, task is nil, job %d, id %s", e.job.ID) + e.lggr.Warnf("cannot parse enhanced EA telemetry bid price, task is nil, job %d, id %s", e.job.ID, benchmarkPriceTask.Task.DotID()) return benchmarkPrice, 0, 0 } @@ -496,7 +496,7 @@ func (e *EnhancedTelemetryService[T]) getPricesFromResults(startTask pipeline.Ta askTask := allTasks.GetNextTaskOf(*bidTask) if askTask == nil { - e.lggr.Warnf("cannot parse enhanced EA telemetry ask price, task is nil, job %d, id %s", e.job.ID) + e.lggr.Warnf("cannot parse enhanced EA telemetry ask price, task is nil, job %d, id %s", e.job.ID, benchmarkPriceTask.Task.DotID()) return benchmarkPrice, bidPrice, 0 } if askTask != nil && askTask.Task.Type() == pipeline.TaskTypeJSONParse { diff --git a/core/services/relay/evm/evm.go b/core/services/relay/evm/evm.go index 23740cc8b3b..61c484f82b2 100644 --- a/core/services/relay/evm/evm.go +++ b/core/services/relay/evm/evm.go @@ -493,7 +493,7 @@ func (c *configWatcher) Start(ctx context.Context) error { defer cancel() c.lggr.Infow("starting replay for config", "fromBlock", c.fromBlock) if err := c.configPoller.Replay(ctx, int64(c.fromBlock)); err != nil { - c.lggr.Errorf("error replaying for config", "err", err) + c.lggr.Errorw("error replaying for config", "err", err) } else { c.lggr.Infow("completed replaying for config", "fromBlock", c.fromBlock) } diff --git a/core/services/workflows/engine.go b/core/services/workflows/engine.go index 34242ee6fbd..67746b12d17 100644 --- a/core/services/workflows/engine.go +++ b/core/services/workflows/engine.go @@ -211,7 +211,7 @@ func (e *Engine) init(ctx context.Context) { e.logger.Debug("capabilities resolved, resuming in-progress workflows") err := e.resumeInProgressExecutions(ctx) if err != nil { - e.logger.Errorf("failed to resume workflows: %w", err) + e.logger.Errorf("failed to resume workflows: %v", err) } e.logger.Debug("registering triggers") @@ -350,26 +350,26 @@ func (e *Engine) loop(ctx context.Context) { } if resp.Err != nil { - e.logger.Errorf("trigger event was an error; not executing", resp.Err) + e.logger.Errorf("trigger event was an error %v; not executing", resp.Err) continue } te := &capabilities.TriggerEvent{} err := resp.Value.UnwrapTo(te) if err != nil { - e.logger.Errorf("could not unwrap trigger event", resp.Err) + e.logger.Errorf("could not unwrap trigger event; error %v", resp.Err) continue } executionID, err := generateExecutionID(e.workflow.id, te.ID) if err != nil { - e.logger.Errorf("could not generate execution ID", resp.Err) + e.logger.Errorf("could not generate execution ID; error %v", resp.Err) continue } err = e.startExecution(ctx, executionID, resp.Value) if err != nil { - e.logger.Errorf("failed to start execution: %w", err) + e.logger.Errorf("failed to start execution: %v", err) } case pendingStepRequest := <-e.pendingStepRequests: // Wait for a new worker to be available before dispatching a new one. @@ -609,7 +609,7 @@ func (e *Engine) workerForStepRequest(ctx context.Context, msg stepRequest) { // like this one will get picked up again and will be reprocessed. select { case <-ctx.Done(): - l.Errorf("context canceled before step update could be issued", err) + l.Errorf("context canceled before step update could be issued; error %v", err) case e.stepUpdateCh <- *stepState: } } diff --git a/core/sessions/ldapauth/ldap.go b/core/sessions/ldapauth/ldap.go index efbedcd8d11..7e84339e28e 100644 --- a/core/sessions/ldapauth/ldap.go +++ b/core/sessions/ldapauth/ldap.go @@ -142,7 +142,7 @@ func (l *ldapAuthenticator) FindUser(ctx context.Context, email string) (session conn, err := l.ldapClient.CreateEphemeralConnection() if err != nil { - l.lggr.Errorf("error in LDAP dial: ", err) + l.lggr.Errorf("error in LDAP dial: %v", err) return sessions.User{}, errors.New("unable to establish connection to LDAP server with provided URL and credentials") } defer conn.Close() @@ -242,7 +242,7 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err conn, err := l.ldapClient.CreateEphemeralConnection() if err != nil { - l.lggr.Errorf("error in LDAP dial: ", err) + l.lggr.Errorf("error in LDAP dial: %v", err) return users, errors.New("unable to establish connection to LDAP server with provided URL and credentials") } defer conn.Close() @@ -250,25 +250,25 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err // Query for list of uniqueMember IDs present in Admin group adminUsers, err := l.ldapGroupMembersListToUser(conn, l.config.AdminUserGroupCN(), sessions.UserRoleAdmin) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Errorf("error in ldapGroupMembersListToUser: %v", err) return users, errors.New("unable to list group users") } // Query for list of uniqueMember IDs present in Edit group editUsers, err := l.ldapGroupMembersListToUser(conn, l.config.EditUserGroupCN(), sessions.UserRoleEdit) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Error("error in ldapGroupMembersListToUser: ", err) return users, errors.New("unable to list group users") } // Query for list of uniqueMember IDs present in Run group runUsers, err := l.ldapGroupMembersListToUser(conn, l.config.RunUserGroupCN(), sessions.UserRoleRun) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Error("error in ldapGroupMembersListToUser: ", err) return users, errors.New("unable to list group users") } // Query for list of uniqueMember IDs present in Read group readUsers, err := l.ldapGroupMembersListToUser(conn, l.config.ReadUserGroupCN(), sessions.UserRoleView) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Error("error in ldapGroupMembersListToUser: ", err) return users, errors.New("unable to list group users") } @@ -300,7 +300,7 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err } activeUsers, err := l.validateUsersActive(emails) if err != nil { - l.lggr.Errorf("error validating supplied user list: ", err) + l.lggr.Error("error validating supplied user list: ", err) return users, errors.New("error validating supplied user list") } @@ -316,7 +316,7 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err var localAdminUsers []sessions.User sql := "SELECT * FROM users ORDER BY email ASC;" if err := l.ds.SelectContext(ctx, &localAdminUsers, sql); err != nil { - l.lggr.Errorf("error extending upstream LDAP users with local admin users in users table: ", err) + l.lggr.Error("error extending upstream LDAP users with local admin users in users table: ", err) } else { returnUsers = append(returnUsers, localAdminUsers...) } @@ -652,7 +652,7 @@ func (l *ldapAuthenticator) validateUsersActive(emails []string) ([]bool, error) conn, err := l.ldapClient.CreateEphemeralConnection() if err != nil { - l.lggr.Errorf("error in LDAP dial: ", err) + l.lggr.Error("error in LDAP dial: ", err) return validUsers, errors.New("unable to establish connection to LDAP server with provided URL and credentials") } defer conn.Close() diff --git a/core/sessions/ldapauth/sync.go b/core/sessions/ldapauth/sync.go index a6e0366e21d..5eeaf051526 100644 --- a/core/sessions/ldapauth/sync.go +++ b/core/sessions/ldapauth/sync.go @@ -94,38 +94,38 @@ func (ldSync *LDAPServerStateSyncer) Work() { conn, err := ldSync.ldapClient.CreateEphemeralConnection() if err != nil { - ldSync.lggr.Errorf("Failed to Dial LDAP Server", err) + ldSync.lggr.Error("Failed to Dial LDAP Server: ", err) return } // Root level root user auth with credentials provided from config bindStr := ldSync.config.BaseUserAttr() + "=" + ldSync.config.ReadOnlyUserLogin() + "," + ldSync.config.BaseDN() if err = conn.Bind(bindStr, ldSync.config.ReadOnlyUserPass()); err != nil { - ldSync.lggr.Errorf("Unable to login as initial root LDAP user", err) + ldSync.lggr.Error("Unable to login as initial root LDAP user: ", err) } defer conn.Close() // Query for list of uniqueMember IDs present in Admin group adminUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.AdminUserGroupCN(), sessions.UserRoleAdmin) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } // Query for list of uniqueMember IDs present in Edit group editUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.EditUserGroupCN(), sessions.UserRoleEdit) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } // Query for list of uniqueMember IDs present in Edit group runUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.RunUserGroupCN(), sessions.UserRoleRun) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } // Query for list of uniqueMember IDs present in Edit group readUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.ReadUserGroupCN(), sessions.UserRoleView) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } @@ -149,7 +149,7 @@ func (ldSync *LDAPServerStateSyncer) Work() { // list group members that are no longer marked as active usersActiveFlags, err := ldSync.validateUsersActive(dedupedEmails, conn) if err != nil { - ldSync.lggr.Errorf("Error validating supplied user list: ", err) + ldSync.lggr.Error("Error validating supplied user list: ", err) } // Remove users in the upstreamUserStateMap source of truth who are part of groups but marked as deactivated/no-active for i, active := range usersActiveFlags { @@ -252,7 +252,7 @@ func (ldSync *LDAPServerStateSyncer) Work() { return nil }) if err != nil { - ldSync.lggr.Errorf("Error syncing local database state: ", err) + ldSync.lggr.Error("Error syncing local database state: ", err) } ldSync.lggr.Info("Upstream LDAP sync complete") } diff --git a/core/sessions/localauth/orm.go b/core/sessions/localauth/orm.go index de0688b9ff1..1f160a40fb3 100644 --- a/core/sessions/localauth/orm.go +++ b/core/sessions/localauth/orm.go @@ -274,13 +274,13 @@ func (o *orm) UpdateRole(ctx context.Context, email, newRole string) (sessions.U _, err = tx.ExecContext(ctx, "DELETE FROM sessions WHERE email = lower($1)", email) if err != nil { - o.lggr.Errorf("Failed to purge user sessions for UpdateRole", "err", err) + o.lggr.Errorw("Failed to purge user sessions for UpdateRole", "err", err) return pkgerrors.New("error updating API user") } sql := "UPDATE users SET role = $1, updated_at = now() WHERE lower(email) = lower($2) RETURNING *" if err := tx.GetContext(ctx, &userToEdit, sql, userToEdit.Role, email); err != nil { - o.lggr.Errorf("Error updating API user", "err", err) + o.lggr.Errorw("Error updating API user", "err", err) return pkgerrors.New("error updating API user") } diff --git a/core/web/jobs_controller.go b/core/web/jobs_controller.go index da01d8f7b43..fbc8b6832a8 100644 --- a/core/web/jobs_controller.go +++ b/core/web/jobs_controller.go @@ -128,7 +128,7 @@ func (jc *JobsController) Create(c *gin.Context) { if err == nil { jc.App.GetAuditLogger().Audit(audit.JobCreated, map[string]interface{}{"job": string(jbj)}) } else { - jc.App.GetLogger().Errorf("Could not send audit log for JobCreation", "err", err) + jc.App.GetLogger().Errorw("Could not send audit log for JobCreation", "err", err) } jsonAPIResponse(c, presenters.NewJobResource(jb), jb.Type.String()) diff --git a/core/web/user_controller.go b/core/web/user_controller.go index 7dbd6d37645..a7b8a3c0689 100644 --- a/core/web/user_controller.go +++ b/core/web/user_controller.go @@ -41,7 +41,7 @@ func (u *UserController) Index(c *gin.Context) { jsonAPIError(c, http.StatusBadRequest, errUnsupportedForAuth) return } - u.App.GetLogger().Errorf("Unable to list users", "err", err) + u.App.GetLogger().Errorw("Unable to list users", "err", err) jsonAPIError(c, http.StatusInternalServerError, err) return } @@ -97,7 +97,7 @@ func (u *UserController) Create(c *gin.Context) { jsonAPIError(c, http.StatusBadRequest, errUnsupportedForAuth) return } - u.App.GetLogger().Errorf("Error creating new API user", "err", err) + u.App.GetLogger().Errorw("Error creating new API user", "err", err) jsonAPIError(c, http.StatusInternalServerError, errors.New("error creating API user")) return } @@ -190,7 +190,7 @@ func (u *UserController) Delete(c *gin.Context) { jsonAPIError(c, http.StatusBadRequest, errUnsupportedForAuth) return } - u.App.GetLogger().Errorf("Error deleting API user", "err", err) + u.App.GetLogger().Errorw("Error deleting API user", "err", err) jsonAPIError(c, http.StatusInternalServerError, errors.New("error deleting API user")) return }