cog

package module
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2021 License: MIT Imports: 6 Imported by: 1

README

Cog

Cog provides the building blocks for creating the logging mechanism tailored to the need of your software.

Usage

package mypkg

import (
	"github.com/thehungry-dev/cog"
	"github.com/thehungry-dev/cog/handler"
	"github.com/thehungry-dev/cog/message/field"
	"github.com/thehungry-dev/cog/message/transform"
	"github.com/thehungry-dev/cog/settings"
)

var Log cog.Writer

func init() {
	set := settings.Getenv()
	device := set.Device()

  // Builds a writer that can filter log output by level, by tag and outputs colored log messages
	Log = cog.With(
		handler.BuildPipe(
			set.LevelFilter(),
			set.TagFilter(),
			handler.BuildOutput(device, handler.OutputText),
		),
	)
}
package main

func main() {
  log := mypkg.Log
  fields := field.Builder{}
  log.Info("some message")
  log.Tags("tag1", "tag2").Warn("some message")
  log.
    Tags("tag1",  "data").
    Data(
      fields.String("Name", "some name"),
      fields.Bool("SomeBool", true)
    ).
    Fatalf("Interpolated %s", "message")
}

Documentation

Overview

Package cog provides the building blocks to build the logging mechanism tailored to the need of your software

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Writer

type Writer struct {
	// contains filtered or unexported fields
}
var DefaultWriter Writer
var JSONWriter Writer
var TagsWriter Writer

func With

func With(hndl handler.Handler) Writer

func (Writer) Data

func (writer Writer) Data(fields ...field.Field) Writer

func (Writer) Debug

func (writer Writer) Debug(body string)

func (Writer) Debugd

func (writer Writer) Debugd()

func (Writer) Debugf

func (writer Writer) Debugf(f string, a ...interface{})

func (Writer) Error

func (writer Writer) Error(body string)

func (Writer) Errord

func (writer Writer) Errord()

func (Writer) Errorf

func (writer Writer) Errorf(f string, a ...interface{})

func (Writer) Fatal

func (writer Writer) Fatal(body string)

func (Writer) Fatald

func (writer Writer) Fatald()

func (Writer) Fatalf

func (writer Writer) Fatalf(f string, a ...interface{})

func (Writer) Info

func (writer Writer) Info(body string)

func (Writer) Infod

func (writer Writer) Infod()

func (Writer) Infof

func (writer Writer) Infof(f string, a ...interface{})

func (Writer) Put

func (writer Writer) Put(lvl level.Level, body string)

func (Writer) PutLevel

func (writer Writer) PutLevel(lvl level.Level)

func (Writer) Putf

func (writer Writer) Putf(lvl level.Level, format string, a ...interface{})

func (Writer) Tags

func (writer Writer) Tags(tags ...string) Writer

func (Writer) Trace

func (writer Writer) Trace(body string)

func (Writer) Traced

func (writer Writer) Traced()

func (Writer) Tracef

func (writer Writer) Tracef(f string, a ...interface{})

func (Writer) Warn

func (writer Writer) Warn(body string)

func (Writer) Warnd

func (writer Writer) Warnd()

func (Writer) Warnf

func (writer Writer) Warnf(f string, a ...interface{})

Directories

Path Synopsis
benchmark module
Package color provides a list of escape sequences to output colored text to terminal
Package color provides a list of escape sequences to output colored text to terminal
ctrls
handler
Package handler provides controls for test environment
Package handler provides controls for test environment
level/filter
Package filter provides controls for test environment
Package filter provides controls for test environment
log
tag/filter
Package filter provides controls for test environment
Package filter provides controls for test environment
Package device provides different kind of devices valid for log output
Package device provides different kind of devices valid for log output
Package handler provides functions to process build messages for output
Package handler provides functions to process build messages for output
filter
Package filter provides a data structure to filter messages based on level
Package filter provides a data structure to filter messages based on level
Package message helps building a build message
Package message helps building a build message
field
Package field represents a single message field for a build message
Package field represents a single message field for a build message
transform
Package transform converts a build message into different formats
Package transform converts a build message into different formats
transform/text
Package text provides utilities to parse back a message converted to text into machine-parsable data
Package text provides utilities to parse back a message converted to text into machine-parsable data
Package paint provides an interface to set terminal output colors for parts or the entirety of a log message
Package paint provides an interface to set terminal output colors for parts or the entirety of a log message
Package settings configures build for logging
Package settings configures build for logging
tag
Package tag provides functions to filter build messages based on tags
Package tag provides functions to filter build messages based on tags
filter
Package filter provides a data structure to filter data based on tags
Package filter provides a data structure to filter data based on tags
Package terminal provides functions to test terminal for supported features
Package terminal provides functions to test terminal for supported features
test

Jump to

Keyboard shortcuts

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