https://github.com/gowizzard/gobugger
A small library to make debugging easier.
https://github.com/gowizzard/gobugger
debugger go golang golang-library json
Last synced: about 2 months ago
JSON representation
A small library to make debugging easier.
- Host: GitHub
- URL: https://github.com/gowizzard/gobugger
- Owner: gowizzard
- License: mit
- Created: 2021-11-13T12:10:40.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-08-07T09:36:12.000Z (almost 3 years ago)
- Last Synced: 2025-02-05T02:43:30.448Z (3 months ago)
- Topics: debugger, go, golang, golang-library, json
- Language: Go
- Homepage:
- Size: 24.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gobugger
[](https://golang.org/) [](https://github.com/gowizzard/gobugger/actions/workflows/go.yml) [](https://goreportcard.com/report/github.com/gowizzard/gobugger) [](https://pkg.go.dev/github.com/gowizzard/gobugger) [](https://github.com/gowizzard/gobugger/issues) [](https://github.com/gowizzard/gobugger/network) [](https://github.com/gowizzard/gobugger/stargazers) [](https://github.com/gowizzard/gobugger/blob/master/LICENSE)
With this small library it should be possible to debug easier in json files. Instead of always using the console.
# Install
```console
go get github.com/gowizzard/gobugger
```# How to use?
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:
```go
// 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:
```json
{
"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:
```go
// 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:
```json
{
"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."
}
]
}
```