Skip to content

Commit

Permalink
Try to combine 2 errors if needed
Browse files Browse the repository at this point in the history
  • Loading branch information
lidizheng committed Apr 4, 2022
1 parent 8c9ead5 commit 1c2c664
Showing 1 changed file with 14 additions and 16 deletions.
30 changes: 14 additions & 16 deletions observability/exporting.go
Expand Up @@ -105,26 +105,24 @@ func (cle *cloudLoggingExporter) EmitGrpcLogRecord(l *grpclogrecordpb.GrpcLogRec
}

func (cle *cloudLoggingExporter) Close() error {
var errFlush, errClose error
if cle.logger != nil {
if err := cle.logger.Flush(); err != nil {
// Try to close the client regardless the Flush is successful or not.
if cle.client != nil {
if err := cle.client.Close(); err != nil {
logger.Infof("Close CloudLogging client failed: %v", err)
} else {
cle.client = nil
}
}
return err
}
cle.logger = nil
errFlush = cle.logger.Flush()
}
if cle.client != nil {
if err := cle.client.Close(); err != nil {
return err
}
cle.client = nil
errClose = cle.client.Close()
}
if errFlush != nil && errClose != nil {
return fmt.Errorf("failed to close exporter. Flush failed: %v; Close failed: %v", errFlush, errClose)
}
if errFlush != nil {
return errFlush
}
if errClose != nil {
return errClose
}
cle.logger = nil
cle.client = nil
logger.Infof("Closed CloudLogging exporter")
return nil
}

0 comments on commit 1c2c664

Please sign in to comment.