in galog_cloudlogging.go [298:316]
func (cb *CloudBackend) Shutdown(ctx context.Context) error {
if cb.logger == nil {
return errCloudLoggingNotInitialized
}
pingTimeout, cancelFunc := context.WithTimeout(ctx, cb.opts.PingTimeout)
defer cancelFunc()
// Ensure we can reach Cloud Logging before attempting to flush.
if err := cb.client.Ping(pingTimeout); err != nil {
return fmt.Errorf("failed to reach cloud logging, skipping flush: %v", err)
}
// Closing the client will flush the logs.
if err := cb.client.Close(); err != nil {
return fmt.Errorf("failed to close cloud logging client: %v", err)
}
return nil
}