oneuptime/go-sdk
2021-09-03 12:15:18 +01:00
..
test_coverage test coverage generated 2021-08-13 07:34:29 +01:00
fyipe.go file class restucrturing 2021-07-19 16:59:12 +01:00
fyipeTracker.go bug fixes and clean up on go-sdk 2021-08-11 17:47:24 +01:00
go.mod go mod and model import fixing 2021-08-21 11:46:58 +01:00
go.sum added error packages for research and implementation of errors 2021-08-05 10:17:09 +01:00
helper.go fixing on asset equal and not equal + logger and tracker test update 2021-08-12 10:55:10 +01:00
interfaces.go bug fixes and clean up on go-sdk 2021-08-11 17:47:24 +01:00
LICENSE file class restucrturing 2021-07-19 16:59:12 +01:00
logger_test.go fixing on asset equal and not equal + logger and tracker test update 2021-08-12 10:55:10 +01:00
logger.go global layer for logger 2021-07-28 16:13:11 +01:00
README.md rread me update 2021-09-03 12:15:18 +01:00
realm.go bug fixes and clean up on go-sdk 2021-08-11 17:47:24 +01:00
tracker_test.go fixing on asset equal and not equal + logger and tracker test update 2021-08-12 10:55:10 +01:00
tracker.go bug fixes and clean up on go-sdk 2021-08-11 17:47:24 +01:00
util.go refactore get stacktrace caller + codde capture snipper integration done 2021-08-10 19:27:44 +01:00

Fyipe SDK

A fyipe sdk for application logger that can be used to send logs about your applications created on your fypie dashboard which can also used for error tracking

Installation

Go Install

Via Go

 // TODO how to install package

Basic Usage for Logging

// TODO fix import properly
import (
    "fmt"
)

// constructor
option := LoggerOptions{
    ApiUrl: "API_URL",  // https://fyipe.com/api
    ApplicationLogId: "APPLICATION_LOG_ID",
    ApplicationLogKey: "APPLICATION_LOG_KEY",
}

// initalization
Init(option)

// Sending a string log to the server
item := "This is a simple log"

// empty tag
var tag = []string{}

logResponse, logErr := LogInfo(item, tag)

// response after logging a request
fmt.PrintF("Log Info response: %v", logResponse)
fmt.PrintF("Log Info error: %v", logErr)


// Sending a struct log to the server
type StructA struct {
    Name string
    Location string
}
item := StructA{"Tony Lewinsky","Liverpool"}
// empty tag
var tag = []string{}

logResponse, logErr := LogInfo(item, tag)

// response after logging a request
ffmt.PrintF("Log Info error: %v", logErr)

// alternatively, tags can be added to the logged item.
item := "This is a simple log"

// using a tag string
var tag = []string{"server-side-error"}
logResponse, logErr := LogWarning(item, tag)

// response after logging a request
fmt.PrintF("Log Warning response: %v", logResponse)
fmt.PrintF("Log Warning error: %v", logErr)

// Using an array of strings
var tags = []string{"server", "error"}

logResponse, logErr := LogError(item, tags)

// response after logging a request
fmt.PrintF("Log Error response: %v", logResponse)
fmt.PrintF("Log Error error: %v", logErr)

Basic Usage for Tracking

// TODO fix import properly
import (
    "fmt"
)

// set up tracking configurations
timelineOpt := TrackerOption{
	MaxTimeline:        2,
	CaptureCodeSnippet: true,
}

option := FyipeTrackerOption{
	ErrorTrackerId:  "ERROR_TRACKER_ID",
	ErrorTrackerKey: "ERROR_TRACKER_KEY",
	ApiUrl:          "API_URL", // https://fyipe.com/api,
	Options:         timelineOpt, // optional
}
InitTracker(option)

// capturing a timeline manually
var customTimeline = &Timeline{
	Category: "testing",
	Data:     "payment-confirmation",
	Type:     "info",
}
AddToTimeline(customTimeline)

// setting custom tags
// a single tag
SetTag("location","Warsaw")

// multiple tags
// create three tags
tags := map[string]string{
	"location": "Warsaw",
	"agent":    "Safari",
	"actor":    "Tom Cruise",
}

// setting the array of tags
SetTags(tags)

// all error exception captured are set to your fyipe dashboard

// this sdk can capture errors managed by  go-errors or pkg/errors
err := errors.Errorf("Dang! Error Happened")
// capture error
CaptureException(err)

// alternatively, you can capture error using the message method
CaptureMessage("Dang! Error Again")

API Documentation

Main API to send logs to the server.

Author: HackerBay, Inc.

Init(LoggerOptions)

Create a constructor from the class, which will be used to send logs to the server.

Kind: Constructor Returns: Initialized Logger

Param Type Description
LoggerOptions struct The Object containing the Log Container details

LoggerOptions

LoggerOption Kind: Struct Returns: null

Param Type Description
ApiUrl string The Server URL.
ApplicationLogId string The Application Log ID.
ApplicationLogKey string The Application Log Key.

LogInfo(log, tags)

Logs a request of type info to the server.

Kind: method of FyipeLogger.new Returns: Object - An object response of a success or failure.

Param Type Description
log string | Struct The content to the logged on the server.
tags string | Array The tag(s) to be attached to the logged item on the server.

LogWarning(warning, tags)

Logs a request of type warning to the server.

Kind: method of FyipeLogger.new Returns: Object - An object response of a success or failure.

Param Type Description
warning string | Struct The content to the logged on the server.
tags string | Array The tag(s) to be attached to the logged item on the server.

LogError(error, tags)

Logs a request of type error to the server.

Kind: method of FyipeLogger.new Returns: Object - An object response of a success or failure.

Param Type Description
error string | Struct The content to the logged on the server.
tags string | Array The tag(s) to be attached to the logged item on the server.

InitTracker(FyipeTrackerOption)

Create a constructor from the class, which will be used to track errors sent to the server.

Kind: Constructor Returns: Initialized Tracker

Param Type Description
FyipeTrackerOption struct The Object containing the Error Tracking Container details and tracker option

FyipeTrackerOption

Kind: Struct Returns: null

Param Type Description
ApiUrl string The Server URL.
ErrorTrackerId string The Error Tracker ID.
ErrorTrackerKey string The Error Tracker Key.
Option TrackerOption The options to be considred by the tracker.

TrackerOption

Param Type Description
MaxTimeline int The total amount of timeline that should be captured, defaults to 5
CaptureCodeSnippet boolean When set as true stack traces are automatically attached to all error sent to your fyipe dashboard.

SetTag(key, value)

Set tag for the error to be sent to the server.

Kind: method of FyipeTracker Returns: null

Param Type Description
key string The key for the tag.
value string The value for the tag.

SetTags(tags)

Set multiple tags for the error to be sent to the server. Takes in a map of string of string

Kind: method of FyipeTracker Returns: null

Param Type Description
tags map[string]string The key for the tag.

SetFingerprint(fingerprint)

Set fingerprint for the next error to be captured.

Kind: method of FyipeTracker Returns: null

Param Type Description
fingerprint list of strings The set of string used to group error messages on the server.

AddToTimeline(category, content, type)

Add a custom timeline element to the next error to be sent to the server

Kind: method of FyipeTracker Returns: null

Param Type Description
category string The category of the timeline event.
content string | struct The content of the timeline event.
type string The type of timeline event.

CaptureMessage(message)

Capture a custom error message to be sent to the server

Kind: method of FyipeTracker Returns: response

Param Type Description
message string The message to be sent to the server.

CaptureException(error)

Capture a custom error object to be sent to the server

Kind: method of FyipeTracker Returns: response

Param Type Description
error Error object The Error Object to be sent to the server.

Contribution

  • Clone repository
  • run cd go-sdk
  • run go get -d ./... to install dependencies
  • run go test -v to run tests