kayvee

package module
v4.2.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2016 License: Apache-2.0 Imports: 3 Imported by: 0

README

kayvee

-- import "gopkg.in/Clever/kayvee-go.v4"

Package kayvee provides methods to output human and machine parseable strings, with a "json" format.

Logger API Documentation

Example

    package main

    import(
        "fmt"
        "time"

        "gopkg.in/Clever/kayvee-go.v4/logger"
    )

    func main() {
        myLogger := logger.New("myApp")

        // Simple debugging
        myLogger.Debug("Service has started")

        // Make a query and log its length
        query_start := time.Now()
        myLogger.GaugeFloat("QueryTime", time.Since(query_start).Seconds())

        // Output structured data
        myLogger.InfoD("DataResults", logger.M{"key": "value"})

        // You can use the M alias for your key value pairs
        myLogger.InfoD("DataResults", logger.M{"shorter": "line"})
    }

Testing

Run make test to execute the tests

Change log

  • v4.0
    • Added methods to read and write the Logger object from a a context.Context object.
    • Middleware now injects the logger into the request context.
    • Updated to require Go 1.7.
  • v4.0 - Removed sentry-go dependency
  • v2.4 - Add kayvee-go/validator for asserting that raw log lines are in a valid kayvee format.
  • v2.3 - Expose logger.M.
  • v2.2 - Remove godeps.
  • v2.1 - Add kayvee-go/logger with log level, counters, and gauge support
  • v0.1 - Initial release.

Backward Compatibility

The kayvee 1.x interface still exist but is considered deprecated. You can find documentation on using it in the compatibility guide

Documentation

Overview

Package kayvee provides methods to output human and machine parseable strings, with a "key=val" format.

## Example

Here's an example program that outputs a kayvee formatted string:

package main

import(
  "fmt"
  "gopkg.in/Clever/kayvee.v0"
)

func main() {
  fmt.Println(kayvee.Format(map[string]interface{}{"hello": "world"}))
}

## Testing

Run `make test` to execute the tests

## Change log

v0.0.1 - Initial release.

Index

Constants

View Source
const (
	Unknown  LogLevel = "unknown"
	Critical          = "critical"
	Error             = "error"
	Warning           = "warning"
	Info              = "info"
	Trace             = "trace"
)

Constants used to define different LogLevels supported

Variables

This section is empty.

Functions

func Format

func Format(data map[string]interface{}) string

Format converts a map to a string of space-delimited key=val pairs

func FormatLog

func FormatLog(source string, level LogLevel, title string, data map[string]interface{}) string

FormatLog is similar to Format, but takes additional reserved params to promote logging best-practices

Types

type LogLevel

type LogLevel string

LogLevel denotes the level of a logging

type Logger

type Logger interface {
	Info(title string, data map[string]interface{})
	Warning(title string, data map[string]interface{})
	Error(title string, data map[string]interface{}, err error)
}

Logger is an interface satisfied by all loggers that use kayvee to Log results

Directories

Path Synopsis
Package middleware provides a customizable Kayvee logging middleware for HTTP servers.
Package middleware provides a customizable Kayvee logging middleware for HTTP servers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL