With this small library it should be possible to debug easier in json files. Instead of always using the console.
go get github.com/gowizzard/gobugger
Actually, the library is super simple. You start a logging process and feed it with data via another function. If you want to stop the debugging, then there is also a function for this. Now the data is stored in a folder structure directly at the desired location.
Here you will find an example:
// Create new debugger
debugger := gobugger.Config{
Path: "/Users/jonaskwiedor/Downloads",
}
// Start debugger
debugger.Start()
// Add test data with a struct
testDataStruct := TestStruct{
Name: "Outdoor Elements™ II Flannel Shirt für Männer",
Sku: "outdoor-elements-ii-flannel-shirt-fur-manner-1959661",
Price: "79,99",
Color: "Canyon Gold Oversize Tartan",
Size: "XL",
Description: "Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look.",
}
debugger.Add(testDataStruct)
// End debugger
err := debugger.End()
if err != nil {
fmt.Println(err)
}
The whole thing is now saved in a JSON file and looks like this:
{
"debugger": "gobugger",
"start": "2021-11-13T13:09:26.972983+01:00",
"end": "2021-11-13T13:09:26.972983+01:00",
"data": [
{
"name": "Outdoor Elements™ II Flannel Shirt für Männer",
"sku": "outdoor-elements-ii-flannel-shirt-fur-manner-1959661",
"price": "79,99",
"color": "Canyon Gold Oversize Tartan",
"size": "XL",
"description": "Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look."
}
]
}
The nice thing is that you can also debug a wide variety of data types. Here is a larger example:
// Create new debugger
debugger := gobugger.Config{
Path: "/Users/jonaskwiedor/Downloads",
}
// Start debugger
debugger.Start()
// Add test data with a map
testDataMap := make(map[string]interface{})
testDataMap["Name"] = "Outdoor Elements™ II Flannel Shirt für Männer"
testDataMap["Sku"] = "outdoor-elements-ii-flannel-shirt-fur-manner-1959661"
testDataMap["Price"] = "79,99"
testDataMap["Color"] = "Canyon Gold Oversize Tartan"
testDataMap["Size"] = "XL"
testDataMap["Description"] = "Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look."
debugger.Add(testDataMap)
// Add test data with an array
testDataArray := []string{
"Outdoor Elements™ II Flannel Shirt für Männer",
"outdoor-elements-ii-flannel-shirt-fur-manner-1959661",
"79,99",
"Canyon Gold Oversize Tartan",
"XL",
"Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look.",
}
debugger.Add(testDataArray)
// Add test data with a struct
testDataStruct := TestStruct{
Name: "Outdoor Elements™ II Flannel Shirt für Männer",
Sku: "outdoor-elements-ii-flannel-shirt-fur-manner-1959661",
Price: "79,99",
Color: "Canyon Gold Oversize Tartan",
Size: "XL",
Description: "Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look.",
}
debugger.Add(testDataStruct)
// End debugger
err := debugger.End()
if err != nil {
fmt.Println(err)
}
The whole thing then looks like this when you look at the debug file:
{
"debugger": "gobugger",
"start": "2021-11-13T13:09:26.972983+01:00",
"end": "2021-11-13T13:09:26.972983+01:00",
"data": [
{
"Color": "Canyon Gold Oversize Tartan",
"Description": "Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look.",
"Name": "Outdoor Elements™ II Flannel Shirt für Männer",
"Price": "79,99",
"Size": "XL",
"Sku": "outdoor-elements-ii-flannel-shirt-fur-manner-1959661"
},
[
"Outdoor Elements™ II Flannel Shirt für Männer",
"outdoor-elements-ii-flannel-shirt-fur-manner-1959661",
"79,99",
"Canyon Gold Oversize Tartan",
"XL",
"Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look."
],
{
"name": "Outdoor Elements™ II Flannel Shirt für Männer",
"sku": "outdoor-elements-ii-flannel-shirt-fur-manner-1959661",
"price": "79,99",
"color": "Canyon Gold Oversize Tartan",
"size": "XL",
"description": "Mit seinem traditionellen Karomuster, dem klassischen Kragen und den langen Ärmeln bringt dir dieses Hemd einen Casual-Look."
}
]
}