le_go

package module
v0.0.0-...-b0bd785 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2023 License: MIT Imports: 11 Imported by: 3

README

le_go

Golang client library for logentries.com

It is compatible with http://golang.org/pkg/log/#Logger and also implements http://golang.org/pkg/io/#Writer

GoDoc

Build Status

Usage

Add a new manual TCP token log at logentries.com and copy the token.

Installation: go get github.com/bsphere/le_go

Note: The Logger is blocking, it can be easily run in a goroutine by calling go le.Println(...)

package main

import "github.com/bsphere/le_go"

func main() {
	le, err := le_go.Connect("XXXX-XXXX-XXXX-XXXX") // replace with token
	if err != nil {
		panic(err)
	}

	defer le.Close()

	le.Println("another test message")
}

Documentation

Overview

Package le_go provides a Golang client library for logging to logentries.com over a TCP connection.

it uses an access token for sending log events.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

Logger represents a Logentries logger, it holds the open TCP connection, access token, prefix and flags.

all Logger operations are thread safe and blocking, log operations can be invoked in a non-blocking way by calling them from a goroutine.

Example
le, err := Connect("data.logentries.com:443", "XXXX-XXXX-XXXX-XXXX", 0, os.Stderr, 0) // replace with token
if err != nil {
	panic(err)
}

defer le.Close()

le.Println("another test message")
Output:

Example (Write)
le, err := Connect("data.logentries.com:443", "XXXX-XXXX-XXXX-XXXX", 0, os.Stderr, 0) // replace with token
if err != nil {
	panic(err)
}

defer le.Close()

fmt.Fprintln(le, "another test message")
Output:

func Connect

func Connect(host, token string, concurrentWrites int, errOutput io.Writer, calldepthOffset int) (*Logger, error)

Connect creates a new Logger instance and opens a TCP connection to logentries.com, The token can be generated at logentries.com by adding a new log, choosing manual configuration and token based TCP connection.

func (*Logger) Close

func (logger *Logger) Close() error

Close closes the TCP connection to logentries.com

func (*Logger) Fatal

func (logger *Logger) Fatal(v ...interface{})

Fatal is same as Print() but calls to os.Exit(1)

func (*Logger) Fatalf

func (logger *Logger) Fatalf(format string, v ...interface{})

Fatalf is same as Printf() but calls to os.Exit(1)

func (*Logger) Fatalln

func (logger *Logger) Fatalln(v ...interface{})

Fatalln is same as Println() but calls to os.Exit(1)

func (*Logger) Flags

func (logger *Logger) Flags() int

Flags returns the logger flags

func (*Logger) Flush

func (l *Logger) Flush()

func (*Logger) Output

func (l *Logger) Output(calldepth int, s string, doAsync func())

Taken with slight modification from src/log/log.go Output writes the output for a logging event. The string s contains the text to print after the prefix specified by the flags of the Logger. A newline is appended if the last character of s is not already a newline. Calldepth is used to recover the PC and is provided for generality, although at the moment on all pre-defined paths it will be 3 plus a given offset. Output does the actual writing to the TCP connection

func (*Logger) Panic

func (logger *Logger) Panic(v ...interface{})

Panic is same as Print() but calls to panic

func (*Logger) Panicf

func (logger *Logger) Panicf(format string, v ...interface{})

Panicf is same as Printf() but calls to panic

func (*Logger) Panicln

func (logger *Logger) Panicln(v ...interface{})

Panicln is same as Println() but calls to panic

func (*Logger) Prefix

func (logger *Logger) Prefix() string

Prefix returns the logger prefix

func (*Logger) Print

func (logger *Logger) Print(v ...interface{})

Print logs a message

func (*Logger) Printf

func (logger *Logger) Printf(format string, v ...interface{})

Printf logs a formatted message

func (*Logger) Println

func (logger *Logger) Println(v ...interface{})

Println logs a message with a linebreak

func (*Logger) SetErrorOutput

func (logger *Logger) SetErrorOutput(errOutput io.Writer)

func (*Logger) SetFlags

func (logger *Logger) SetFlags(flag int)

SetFlags sets the logger flags

func (*Logger) SetPrefix

func (logger *Logger) SetPrefix(prefix string)

SetPrefix sets the logger prefix

func (*Logger) Write

func (logger *Logger) Write(p []byte) (n int, err error)

Write writes a bytes array to the Logentries TCP connection, it adds the access token and prefix and also replaces line breaks with the unicode \u2028 character

Jump to

Keyboard shortcuts

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