1
1
Fork 0

working normally now

This commit is contained in:
Colin 2024-04-16 19:53:06 -04:00
parent 4526d05aef
commit 1002905f56
4 changed files with 41 additions and 13 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

3
build.sh Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
GOOS=linux GOARCH=amd64 go build

BIN
go-glitch

Binary file not shown.

View File

@ -1,53 +1,78 @@
package main
import (
"bufio"
"fmt"
"os"
"strings"
"time"
"github.com/getsentry/sentry-go"
)
func main() {
// Check for the right number of command line arguments
// Check that exactly one argument is passed (file path)
if len(os.Args) != 2 {
fmt.Println("Usage: ./go-glitch \"Your log message here\"")
fmt.Fprintf(os.Stderr, "Usage: %s <path to log file>\n", os.Args[0])
os.Exit(1)
}
logMessage := os.Args[1]
filePath := os.Args[1]
// Open the file
file, err := os.Open(filePath)
if err != nil {
fmt.Fprintf(os.Stderr, "Error opening file: %s\n", err)
os.Exit(1)
}
defer file.Close()
// Read file contents into a string
scanner := bufio.NewScanner(file)
var content strings.Builder
for scanner.Scan() {
content.WriteString(scanner.Text())
content.WriteString("\n") // Preserve line breaks
}
if err := scanner.Err(); err != nil {
fmt.Fprintf(os.Stderr, "Error reading file: %s\n", err)
os.Exit(1)
}
logMessage := content.String()
dsn := os.Getenv("SENTRY_DSN")
if dsn == "" {
fmt.Println("Error: SENTRY_DSN environment variable is not set.")
fmt.Fprintf(os.Stderr, "Error: SENTRY_DSN environment variable is not set.\n")
os.Exit(1)
}
// Initialize Sentry with the DSN
err := sentry.Init(sentry.ClientOptions{
err = sentry.Init(sentry.ClientOptions{
Dsn: dsn,
})
if err != nil {
fmt.Printf("Error initializing Sentry: %s\n", err)
fmt.Fprintf(os.Stderr, "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.")
fmt.Fprintf(os.Stderr, "Failed to flush Sentry buffer within the expected time.\n")
} 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.")
fmt.Fprintf(os.Stderr, "Failed to send message to Sentry.\n")
}
}