@@ -364,7 +364,7 @@ func handleSQSMessage(m sqs.Message) ([]s3Info, error) {
364364 // Unescape substrings from s3 log name. For example, convert "%3D" back to "="
365365 filename , err := url .QueryUnescape (record .S3 .object .Key )
366366 if err != nil {
367- return nil , errors .Wrapf (err , "url.QueryUnescape failed" )
367+ return nil , errors .Wrapf (err , "url.QueryUnescape failed for '%s'" , record . S3 . object . Key )
368368 }
369369
370370 s3Infos = append (s3Infos , s3Info {
@@ -419,17 +419,17 @@ func (p *s3Input) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, s3C
419419 // If the SDK can determine the request or retry delay was canceled
420420 // by a context the ErrCodeRequestCanceled error will be returned.
421421 if awsErr .Code () == awssdk .ErrCodeRequestCanceled {
422- err = errors .Wrap (err , "S3 GetObjectRequest canceled" )
422+ err = errors .Wrapf (err , "S3 GetObjectRequest canceled for '%s' from S3 bucket '%s'" , info . key , info . name )
423423 p .logger .Error (err )
424424 return err
425425 }
426426
427427 if awsErr .Code () == "NoSuchKey" {
428- p .logger .Warn ("Cannot find s3 file" )
428+ p .logger .Warnf ("Cannot find s3 file '%s' from S3 bucket '%s'" , info . key , info . name )
429429 return nil
430430 }
431431 }
432- return errors .Wrap (err , "S3 GetObjectRequest failed" )
432+ return errors .Wrapf (err , "S3 GetObjectRequest failed for '%s' from S3 bucket '%s'" , info . key , info . name )
433433 }
434434
435435 defer resp .Body .Close ()
@@ -448,7 +448,7 @@ func (p *s3Input) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, s3C
448448 decoder := json .NewDecoder (reader )
449449 err := p .decodeJSONWithKey (decoder , objectHash , info , s3Ctx )
450450 if err != nil {
451- err = errors .Wrap (err , "decodeJSONWithKey failed" )
451+ err = errors .Wrapf (err , "decodeJSONWithKey failed for '%s' from S3 bucket '%s'" , info . key , info . name )
452452 p .logger .Error (err )
453453 return err
454454 }
@@ -459,7 +459,7 @@ func (p *s3Input) createEventsFromS3Info(svc s3iface.ClientAPI, info s3Info, s3C
459459 if (resp .ContentType != nil && * resp .ContentType == "application/x-gzip" ) || strings .HasSuffix (info .key , ".gz" ) {
460460 gzipReader , err := gzip .NewReader (resp .Body )
461461 if err != nil {
462- err = errors .Wrap (err , "gzip.NewReader failed" )
462+ err = errors .Wrapf (err , "gzip.NewReader failed for '%s' from S3 bucket '%s'" , info . key , info . name )
463463 p .logger .Error (err )
464464 return err
465465 }
@@ -519,36 +519,37 @@ func (p *s3Input) decodeJSONWithKey(decoder *json.Decoder, objectHash string, s3
519519 // get logs from expand_event_list_from_field
520520 textValues , ok := jsonFields [p .config .ExpandEventListFromField ]
521521 if ! ok {
522- err = errors .Wrapf (err , fmt . Sprintf ( "key '%s' not found" , p .config .ExpandEventListFromField ) )
522+ err = errors .Wrapf (err , "key '%s' not found" , p .config .ExpandEventListFromField )
523523 p .logger .Error (err )
524524 return err
525525 }
526526
527527 for _ , v := range textValues {
528528 err := p .convertJSONToEvent (v , offset , objectHash , s3Info , s3Ctx )
529529 if err != nil {
530- err = errors .Wrap (err , "convertJSONToEvent failed" )
530+ err = errors .Wrapf (err , "convertJSONToEvent failed for '%s' from S3 bucket '%s'" , s3Info . key , s3Info . name )
531531 p .logger .Error (err )
532532 return err
533533 }
534534 }
535535 } else if err != nil {
536536 // decode json failed, skip this log file
537- p .logger .Warnf (fmt .Sprintf ("Decode json failed for '%s', skipping this file: %s" , s3Info .key , err ))
537+ err = errors .Wrapf (err , "decode json failed for '%s' from S3 bucket '%s', skipping this file" , s3Info .key , s3Info .name )
538+ p .logger .Warn (err )
538539 return nil
539540 }
540541
541542 textValues , ok := jsonFields [p .config .ExpandEventListFromField ]
542543 if ! ok {
543- err = errors .Wrapf (err , fmt . Sprintf ( "Key '%s' not found" , p .config .ExpandEventListFromField ) )
544+ err = errors .Wrapf (err , "Key '%s' not found" , p .config .ExpandEventListFromField )
544545 p .logger .Error (err )
545546 return err
546547 }
547548
548549 for _ , v := range textValues {
549550 err := p .convertJSONToEvent (v , offset , objectHash , s3Info , s3Ctx )
550551 if err != nil {
551- err = errors .Wrapf (err , fmt . Sprintf ( "Key '%s' not found" , p .config .ExpandEventListFromField ) )
552+ err = errors .Wrapf (err , "Key '%s' not found" , p .config .ExpandEventListFromField )
552553 p .logger .Error (err )
553554 return err
554555 }
@@ -564,7 +565,7 @@ func (p *s3Input) convertJSONToEvent(jsonFields interface{}, offset int, objectH
564565
565566 err = p .forwardEvent (event )
566567 if err != nil {
567- err = errors .Wrap (err , fmt . Sprintf ( "forwardEvent failed" ) )
568+ err = errors .Wrap (err , "forwardEvent failed" )
568569 p .logger .Error (err )
569570 return err
570571 }
@@ -596,7 +597,7 @@ func (p *s3Input) deleteMessage(queueURL string, messagesReceiptHandle string, s
596597 if awsErr , ok := err .(awserr.Error ); ok && awsErr .Code () == awssdk .ErrCodeRequestCanceled {
597598 return nil
598599 }
599- return errors .Wrap (err , "SQS DeleteMessageRequest failed" )
600+ return errors .Wrapf (err , "SQS DeleteMessageRequest failed in queue %s" , queueURL )
600601 }
601602 return nil
602603}
0 commit comments