go-glitch
This commit is contained in:
		
						commit
						4526d05aef
					
				| 
						 | 
					@ -0,0 +1,53 @@
 | 
				
			||||||
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
					    "fmt"
 | 
				
			||||||
 | 
					    "os"
 | 
				
			||||||
 | 
					    "time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    "github.com/getsentry/sentry-go"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func main() {
 | 
				
			||||||
 | 
					    // Check for the right number of command line arguments
 | 
				
			||||||
 | 
					    if len(os.Args) != 2 {
 | 
				
			||||||
 | 
					        fmt.Println("Usage: ./go-glitch \"Your log message here\"")
 | 
				
			||||||
 | 
					        os.Exit(1)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    logMessage := os.Args[1]
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    dsn := os.Getenv("SENTRY_DSN")
 | 
				
			||||||
 | 
					    if dsn == "" {
 | 
				
			||||||
 | 
					        fmt.Println("Error: SENTRY_DSN environment variable is not set.")
 | 
				
			||||||
 | 
					        os.Exit(1)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    // Initialize Sentry with the DSN
 | 
				
			||||||
 | 
					    err := sentry.Init(sentry.ClientOptions{
 | 
				
			||||||
 | 
					        Dsn: dsn,
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					    if err != nil {
 | 
				
			||||||
 | 
					        fmt.Printf("Error initializing Sentry: %s\n", err)
 | 
				
			||||||
 | 
					        os.Exit(1)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    // Defer a function to flush Sentry's buffer
 | 
				
			||||||
 | 
					    defer func() {
 | 
				
			||||||
 | 
					        success := sentry.Flush(5 * time.Second)
 | 
				
			||||||
 | 
					        if !success {
 | 
				
			||||||
 | 
					            fmt.Println("Failed to flush Sentry buffer within the expected time.")
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            fmt.Println("Sentry buffer flushed successfully.")
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }()
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    // Capture the message and output the event ID
 | 
				
			||||||
 | 
					    eventID := sentry.CaptureMessage(logMessage)
 | 
				
			||||||
 | 
					    if eventID != nil {
 | 
				
			||||||
 | 
					        fmt.Printf("Sent message to Sentry with event ID: %s\n", *eventID)
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        fmt.Println("Failed to send message to Sentry.")
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					module go-glitch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go 1.21.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require (
 | 
				
			||||||
 | 
						github.com/getsentry/sentry-go v0.27.0 // indirect
 | 
				
			||||||
 | 
						golang.org/x/sys v0.6.0 // indirect
 | 
				
			||||||
 | 
						golang.org/x/text v0.8.0 // indirect
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps=
 | 
				
			||||||
 | 
					github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
 | 
					golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
 | 
				
			||||||
 | 
					golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 | 
				
			||||||
		Loading…
	
		Reference in New Issue