log

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package log provides logging with level debug, info, warn, error, fatal.

Package log provides logging

Example

This example shows the log usages

package main

import (
	"hidevops.io/hiboot/pkg/log"
)

func main() {

	log.SetLevel(log.DebugLevel)

	log.Debug("this is debug prints")
}
Output:

Index

Examples

Constants

View Source
const (
	DebugLevel = "debug"
	InfoLevel  = "info"
	WarnLevel  = "warn"
	ErrorLevel = "error"
	FatalLevel = "fatal"
	Disable    = "disable"
)

Available level names are: "disable" "fatal" "error" "warn" "info" "debug"

Variables

This section is empty.

Functions

func AddOutput

func AddOutput(writers ...io.Writer)

AddOutput adds one or more `io.Writer` to the golog.Logger's Printer.

If one of the "writers" is not a terminal-based (i.e File) then colors will be disabled for all outputs.

func Child

func Child(name string) *golog.Logger

Child (creates if not exists and) returns a new child Logger based on the default package-level logger instance.

Can be used to separate logs by category.

func Debug

func Debug(v ...interface{})

Debug will print when logger's Level is debug.

func Debugf

func Debugf(format string, args ...interface{})

Debugf will print when logger's Level is debug.

func Error

func Error(v ...interface{})

Error will print only when logger's Level is error, warn, info or debug.

func Errorf

func Errorf(format string, args ...interface{})

Errorf will print only when logger's Level is error, warn, info or debug.

func Fatal

func Fatal(v ...interface{})

Fatal `os.Exit(1)` exit no matter the level of the logger. If the logger's level is fatal, error, warn, info or debug then it will print the log message too.

func Fatalf

func Fatalf(format string, args ...interface{})

Fatalf will `os.Exit(1)` no matter the level of the logger. If the logger's level is fatal, error, warn, info or debug then it will print the log message too.

func Handle

func Handle(handler golog.Handler)

Handle adds a log handler to the default logger.

Handlers can be used to intercept the message between a log value and the actual print operation, it's called when one of the print functions called. If it's return value is true then it means that the specific handler handled the log by itself therefore no need to proceed with the default behavior of printing the log to the specified logger's output.

It stops on the handler which returns true firstly. The `Log` value holds the level of the print operation as well.

func Hijack

func Hijack(hijacker func(ctx *pio.Ctx))

Hijack adds a hijacker to the low-level logger's Printer. If you need to implement such as a low-level hijacker manually, then you have to make use of the pio library.

func Info

func Info(v ...interface{})

Info will print when logger's Level is info or debug.

func Infof

func Infof(format string, args ...interface{})

Infof will print when logger's Level is info or debug.

func Install

func Install(logger golog.ExternalLogger)

Install receives an external logger and automatically adapts its print functions.

Install adds a golog handler to support third-party integrations, it can be used only once per `golog#Logger` instance.

For example, if you want to print using a logrus logger you can do the following: `golog.Install(logrus.StandardLogger())`

Look `golog#Handle` for more.

func InstallStd

func InstallStd(logger golog.StdLogger)

InstallStd receives a standard logger and automatically adapts its print functions.

Install adds a golog handler to support third-party integrations, it can be used only once per `golog#Logger` instance.

Example Code:

import "log"
myLogger := log.New(os.Stdout, "", 0)
InstallStd(myLogger)

Look `golog#Handle` for more.

func Logf

func Logf(level golog.Level, format string, args ...interface{})

Logf prints a leveled log message to the output. This method can be used to use custom log levels if needed. It adds a new line in the end.

func NewLine

func NewLine(newLineChar string)

NewLine can override the default package-level line breaker, "\n". It should be called (in-sync) before the print or leveled functions.

See `github.com/kataras/pio#NewLine` and `Logger#NewLine` too.

func Print

func Print(v ...interface{})

Print prints a log message without levels and colors.

func Println

func Println(v ...interface{})

Println prints a log message without levels and colors. It adds a new line at the end.

func Reset

func Reset()

Reset re-sets the default logger to an empty one.

func Scan

func Scan(r io.Reader) (cancel func())

Scan scans everything from "r" and prints its new contents to the logger's Printer's Output, forever or until the returning "cancel" is fired, once.

func SetLevel

func SetLevel(levelName string)

SetLevel alternatively you can use the exported `golog.Level` field, i.e `golog.Level = golog.ErrorLevel`

func SetOutput

func SetOutput(w io.Writer)

SetOutput overrides the golog.Logger's Printer's output with another `io.Writer`.

func SetPrefix

func SetPrefix(s string) *golog.Logger

SetPrefix sets a prefix for the default package-level Logger.

The prefix is the first space-separated word that is being presented to the output. It's written even before the log level text.

Returns itself.

func SetTimeFormat

func SetTimeFormat(s string)

SetTimeFormat sets time format for logs, if "s" is empty then time representation will be off.

func Warn

func Warn(v ...interface{})

Warn will print when logger's Level is warn, info or debug.

func Warnf

func Warnf(format string, args ...interface{})

Warnf will print when logger's Level is warn, info or debug.

Types

This section is empty.

Jump to

Keyboard shortcuts

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