diff --git a/errorreporting/errorreporting_quickstart/main.go b/errorreporting/errorreporting_quickstart/main.go index 9eb9ae7110..f1873f410f 100644 --- a/errorreporting/errorreporting_quickstart/main.go +++ b/errorreporting/errorreporting_quickstart/main.go @@ -21,8 +21,9 @@ package main import ( "context" + "errors" "log" - "net/http" + "os" "cloud.google.com/go/errorreporting" ) @@ -30,16 +31,20 @@ import ( var errorClient *errorreporting.Client func main() { - ctx := context.Background() - - // Sets your Google Cloud Platform project ID. - projectID := "YOUR_PROJECT_ID" + // Set your Google Cloud Platform project ID via environment or explicitly + projectID := os.Getenv("GOOGLE_CLOUD_PROJECT") + args := os.Args[1:] + if len(args) > 0 && args[0] != "" { + projectID = args[0] + } + ctx := context.Background() var err error errorClient, err = errorreporting.NewClient(ctx, projectID, errorreporting.Config{ - ServiceName: "myservice", + ServiceName: "errorreporting_quickstart", + ServiceVersion: "0.0.0", OnError: func(err error) { - log.Printf("Could not log error: %v", err) + log.Printf("Could not report the error: %v", err) }, }) if err != nil { @@ -47,15 +52,16 @@ func main() { } defer errorClient.Close() - resp, err := http.Get("not-a-valid-url") + err = errors.New("something went wrong") if err != nil { logAndPrintError(err) return } - log.Print(resp.Status) } func logAndPrintError(err error) { + /// Client autopopulates the error context of the error. For more details about the context see: + /// https://cloud.google.com/error-reporting/reference/rest/v1beta1/ErrorContext errorClient.Report(errorreporting.Entry{ Error: err, })